TABLE OF CONTENTS
HSC 68000 Co-Processor 5
DynaDisk for the BBII 8
BBI: ETX/ACK Serial Print Driver 11
More I/O on the BBI 13
Serial Printer on a BBI Sans SIO 14
Parallel Printer Interface for SWP's Dual Density 16
Pascal Procedures 18
Extended 8" Single Density 20
SBASIC Column 22
The Kaypro Column 26
Cheap and Dirty Talker for your Kaypro 30
The Slicer Column 33
FORTHwords 38
C'ing Clearly 44
Xerox 820 Column 48
SOG III 52
On Your Own , 62
Technical Tips 68
"THE ORIGINAL BIG BOARD"
OEM - INDUSTRIAL - BUSINESS - SCIENTIFIC
SINGLE BOARD COMPUTER KIT!
Z-80CPU! 64KRAM!
(DO NOT CONFUSE WITH ANY OF OUR FLATTERING IMITATORS!)
4i
%
</)
H
tt-o
Q
0)0
= m
m
u
Q.
w
-J
OQ
c
■o
5
(0
<
C
*n
co
(O
en
<
.2 0)
O CJ
m
k.
o
u.
>■
(0
o
_j
ss
(/)
-1^
<
H
DC
<
o
Li.
*o
c
<
o
z
<
Q.
THE BIG BOARD PROJECT: With thousands sold worldwide and over two years of field experience, the Big
Board may just be one of the most reliable single board computers available today. This is the same design that
was licensed by Xerox Corp. as the basis for their 820 computer.
The Big Board gives you the right mix of most needed computing features all on one board. The Big Board was
designed from scratch to run the latest version of CP/M*. Just imagine all the off-the-shelf software that can be
run on the Big Board without any modifications needed.
$01000 (64KKIT
**t I5J ** BASICI/ °)
FULLY SOCKETED!
FEATURES: (Remember, all this on one board!)
SIZE: 8Vj x 13V4 IN.
SAME AS AN 8 IN. DRIVE.
REQUIRES: +5V @ 3 AMPS
+ - 12V @. 5 AMPS.
64K RAM
Uses Industry standard 4116 RAM's. All 64K is available to the user, our VIDEO
and EPROM sections do not make holes in system RAM. Also, very special care
was taken in the RAM array PC layout to eliminate potential noise and glitches.
Running at
INTERUPTS
2.5 MHZ. Handles
Fully buffered and
Z-80 CPU
all 4116 RAM refresh
runs 8080 software.
and
supports
Mode 2
24 x 80 CHARACTER VIDEO
With a crisp, flicker-free display that looks extremely sharp even on small
monitors. Hardware scroll and full cursor control. Composite video or split video
and sync. Character set is supplied on a 2716 style ROM, making customized
fonts easy. Sync pulses can be any desired length or polarity. Video may be
inverted or true. 5x7 Matrix - Upper & Lower Case.
SERIAL I/O (OPTIONAL)
Full 2 channels using the Z80 SIO and the SMC 81 16 Baud Rate Generator. FULL
RS232! For synchronous or asynchronous communication. In synchronous
mode, the clocks can be transmitted or received by a modem. Both channels can
be set up for either data-communication or data-terminals. Supports mode 2 Int.
Price for all parts and connectors: $39.95
FLOPPY DISC CONTROLLER
Uses WD1771 controller chip with a TTL Data Separator for enhanced reliability.
IBM 3740 compatible. Supports up to four 8 inch disc drives. Directly compatible
with standard Shugart drives such as the SA800 or SA801. Drives can be
configured for remote AC off-on. Runs CP/M* 2.2.
BASIC I/O
Consists of separate parallel port (Z80 PIO) for use with an ASCII encoded
keyboard for input. Output would be on the 80 x 24 Video Display.
TWO PORT PARALLEL I/O (OPTIONAL)
Uses Z-80 PIO. Full 16 bits, fully buffered, bi-directional. Uses selectable hand
shake polarity. Set of all parts and connectors for parallel I/O: $19.95
BLANK PC BOARD — $89.95
The blank Big Board PC Board comes complete with full
documentation (including schematics), the character ROM,
the PFM 3.3 MONITOR ROM, and a diskette with the source
of our BIOS, BOOT, and PFM 3.3 MONITOR.
REAL TIME CLOCK (OPTIONAL)
Uses Z-80 CTC. Can be configured as a Counter on Real Time Clock. Set of all
parts: $9.95
CP/M* 2.2 FOR BIG BOARD
The popular CP/M* D.O.S. to run on Big Board is available for $139.00.
DOUBLE DENSITY ADAPTER BOARD — $149.95 (A&T)
Requires no cuts or MODS to an existing Big Board. Gives up to 670K storage on
a single sided 8 in. diskette. With software to patch your CP/M* 2.2.
PFM 3.3 2K SYSTEM MONITOR
The real power of the Big Board lies in its PFM 3.3 on board monitor. PFM commands include: Dump Memory, Boot CP/M*, Copy, Examine, Fill Memory, Test Memory, Go To,
Read and Write I/O Ports, Disc Read (Drive, Track, Sector), and Search PFM occupies one of the four 2716 EPROM locations provided. Z-80 is a Trademark of Zilog.
Digital Research Computers
w (OF TEXAS)
P.O. BOX 461565 • GARLAND, TEXAS 75046 • (214)271-3538
TERMS: Shipments will be made approximately 3 to 6 weeks after we
receive your order. VISA, MC, cash accepted. We will accept COD's (for the
Big Board only) with a $75 deposit. Balance UPS COD. Add $4.00shipping.
USA AND CANADA ONLY
'TRADEMARK OF DIGITAL RESEARCH. NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE ORIGINATORS OF CPM SOFTWARE
"1 TO 4 PIECE DOMESTIC USA PRICE.
MICRO CORNUCOPIA
P.O. Box 223
Bend, Oregon 97709
503-382-8048
Editor & Publisher
David J. Thompson
Assistant Editor
Eric Belden
Graphic Design
Sandra Thompson
Technical Department
Dana Cotant Eric Roby
Advertising Director
Alice Holbrow
Staff Assistants
Dorcas Dsenis
Tracey Braas Cary Gatton
Typography
Patti Morris & Martin White
Irish Setter
MICRO CORNUCOPIA is the
single board systems journal sup-
porting systems programming lan-
guages and single board systems —
including the Big Board, Big Board
II, Xerox 820, Kaypro, and Slicer.
MICRO CORNUCOPIA is pub-
lished six times a year by Micro Cor-
nucopia of Oregon, P.O. Box 223,
Bend, Oregon 97709.
SUBSCRIPTION RATES:
^
lyr.(6 issues) ^^ $16.00
lyr. (first class) ^ $22.00
1 yr. (Canada & Mexico) $22.00
1 yr.(other foreign) $30.00
Make all orders payable in U.S.
funds on a U.S. bank, please.
ADVERTISING RATES: Available
on request.
CHANGE OF ADDRESS: Please
send your old label and new ad-
dress.
SOFTWARE, HARDWARE, AND
BOOK VENDORS: We would very
much like to review your CP/M &
MSDOS compatible products. Send
materials to the Review Depart-
ment, Micro Cornucopia.
CP/M is a trademark of Digital Research, Inc.
Copyright © 1984 by Micro Cornucopia
All rights reserved
nau coumcom
October 1984 The Single Board Systems Journal No. 20
SOG
Aftermath!
Let me warn you now, you're going to be
hearing a lot about SOG III in upcoming is-
sues of Micro C. You see, I was able to tape
most of the sessions and there was a wealth of
information shared in two intense days. One
piece of information that really hit me came
from Philippe Kahn, president of Borland In-
ternational.
Modula II, Wherefore Art Thou?
Philippe was asked how soon Modula II
would be available. "Shortly," he said. How-
ever, that "shortly" referred only to the 8088/
8086 version. There will probably never be a
Turbo Modula for the Z80.
You see, Borland is a market driven
company and marketing says that 70
percent of current sales are for MS/DOS
machines and they expect that within
months they will see that margin go to 85
percent.
I've noticed that a lot of the fancy new
software packages are being offered only
for the PC bunch (including some really
cheap ones like a high-speed WordStar
look-alike for $35) and a really incredible
$49.95 package called Sidekick that Phi-
lippe demonstrated at the SOG.
Actually, if I were going to write some
new software, I'd take a hard look at the
PC market too. After all, you'd not only
have a huge and growing hardware
base, but you'd also have a very clearly
defined memory-mapped video moni-
tor.
A Real Standard
Terminal definition is one area that CP/
M 80 ignored because there was simply
no standard terminal. When IBM came
along with the PC it not only sold a sys-
tem, it sold a standard. A lot of writers
yell about gutless me-tooers jumping on
the IBM bandwagon, but it makes a lot of
sense, not because IBM created the
standard, or that the standard is perfect,
but because there finally is a standard.
This standard works because it defines
the video, the expansion bus (you know,
the plug in cards that handle color
graphics, Winchesters, more memory,
additional ports . . . ), the port address-
es, the system calls, the monitor jump
table, even the control functions on the
keyboard. It is a real standard.
Of course, some systems are better
copies of the standard than others. For
instance, the Compaq and the latest
Heath/Zenith are very compatible, while
the Sanyo is only slightly compatible (al-
though, at the price, it is still a very good
deal if you want a machine to do straight
text editing, spreadsheets, or BASIC).
The Heath machine is available as a kit
which ought to make it interesting to a
number of Big Board folks. However, the
assembly is reported to be 37 hours of
cabinet and cable work, circuit boards
come already assembled and tested.
(That's a long way from the early Heath
Kits where you carefully wrapped wire
leads around each tube-socket pin and
then held a 75-watt soldering iron
against the pins until you had smothered.,
the entire area with a glistening chunk of
tin and lead.) Ah well, there ought to be
something a person could do with an al-
ready stuffed board — don't you think?
The Z80 and Up
Of course I would have preferred to
see a Z80 based standard, but one big
thing precluded that. You see, there was
(and is) no chip that was upwardly com-
patible with the Z80. The Z8000 was not
compatible with its little brother (and it
was slow getting into the market place as
was the 68000 chip set). The Z800 which
is supposed to be somewhat compatible
with the Z80 has not yet seen the light of
wholesaler's shelves (it may not ever be
available).
Meanwhile, Intel has a bevy of new
heavies definitely on their way. In fact
(continued on page 61)
LETTERS
Dear Editor,
I discovered an obscure bug in my
Kaypro-II and may even have figured
out why it's there. When I have a value
between 30H and 3FH in the I (index)
register of Z80 and memory bank 1 is se-
lected, my screen display gets weird: it
fades way out and has the jitters.
If I'm right, then all Kaypros which
follow your schematic must have the
same bug. According to Zilog's Z80 tech-
nical manual, when the Z80 does a mem-
ory refresh, the contents of the I register
are placed on the upper 8 bits of the ad-
dress bus, and a MREQ signal is issued.
If the I register is between 30H and 3FH,
this fools the CPU video access detector
into thinking that video RAM is being ac-
cessed, because it doesn't pay any atten-
tion to the RFSH signal like it ought to.
As a result, the screen is blanked on ev-
ery refresh cycle! Maybe you can figure
an easy way to fix this.
David Hillman
2006 NE Davis
Portland OR 97232
Dear Editor,
I enjoyed reading Jan Korrubel's re-
view of SWP's dual density package in
your April issue. Having purchased this
product a few months ago myself I've
been equally pleased with it's perform-
ance although I too found some damage
on arrival.
In my case the daughter board was in-
tact but one of disks in the order had a
stray board pin lodged in it's jacket. Af-
ter carefully coaxing the pin out, I found
it left a ghastly dent in the track area of
the disk. I was lucky enough to be able to
"iron" it out from the convex side so that
I could make a successful copy. It would
certainly be helpful if all distributors
wold ship such packages with disks
sealed in envelopes to prevent this sort
of contamination.
An annoying bug I found with the
special-function keys is that if I try to use
the screen dump in conjunction with the
scroll pause the system locks up forcing
me to reset to get out.
I also found that the SETCLK.COM
program on users disk #1 can easily be
adapted for this BIOS by using DDT.
Simply change locations 019EH and
019FH (both 080H) to OCBH and 027H
respectively. This replaces the two ADD
A,B instructions with one SLA A in-
struction so that the program can store
the two-digit entries in each location as
two BCD nibbles instead of one binary
byte. The commands in DDT would ap-
pear as follows:
Modifying SETCLK
A>ddt
DDT VERS 2.2
-Isetdk.com
-R
NEXT PC
0200 0100
-S019E
01 9E 80 CB
01 9F 80 27
01 A0 81 .
-"C
A>SAVE 8 setclk2.com
Paul R. Pederson
8601 E. Old Spanish Trail
Tucson AZ 85710
Dear Editor,
I recently received your Kaypro Disk
K21 and encountered a minor bug in the
screen dump. The first time through the
dump works fine however when it ends
it sends a message to my printer to go
into a 5 CPI mode. The next printing
whether dump or not is wide letters 5
CPI.
I then fiddled around with the source
you sent along trying to insert an initiali-
zation string but to no avail. My capabili-
ties in this area are vey limited, so I'm
looking for help. I have an Okidata 82A
printer and the strings in hex are: IE = 10
CPI; IF = 5 CPI.
Jim Jensen
353 Willow St.
West Barnstable MA 02668
Editor's note:
It seems the non-blinking block cursor of
our Pro Monitor ROM is being passed as a
printer control character. We've fixed the
dump programs on the new disks and will
update any customer's disk that is giving
them problems.
Dear Editor,
I installed the Pro-8 ROM package but
could not format the odd numbered
tracks on drive B or A. That problem
turned out to be a trace connecting E40 to
E27. This connected PA2 to PBRDY on
U72, thus no floppy side select.
However, I still could not format drive
A. This turned out to be a bad drive, a
new Teac.
I have a fairly early Kaypro, but my
board is not exactly like the schematic.
For example, U2 was a 74S04 and all but
one of the inverters were being used. Al-
so, my board did not have the marking
"E40."
Do you know anyone who has a Sor-
cerer (Exidy)?
Lawrence Norton
2490 Channing Way
Suite 400
Berkeley CA 94704
Dear Editor,
Last year you published the letter
wherein I mentioned having 300 used
disks to share with Micro C readers.
Through that letter, I was contacted by,
and am still writing to, some of the finest
people I know.
Well, once again I came up with a su-
per deal, only this one will be more than
25 cents per disk. The company I work
for sells MicroPro and they just changed
over from 8" format to 5" and recalled all
the 8" "demo" disks from the field.
Guess who bought them for scrap?
I have about 35 sets of original, legal,
serial numbered, demo disks which in-
clude: WordStar, SpellStar, MailMerge,
CalcStar, DataStar, and SuperSort. I
would like to share these with those Mi-
cro C readers who cannot afford to pur-
chase good commercial software at
standard prices. I cannot sell them, but I
can charge for postage and handling
(there is no documentation, but the
built-in screens should be sufficient to
get someone up and running). I am try-
ing to raise enough cash to purchase a
Kaypro or Slicer.
Neil Joba
4774 Carter Rd
Fiarport, NY 14450
716-377-3042
Micro Cornucopia, Number 20, October 1984
LETTERS
Dear Editor,
When I ordered my PRO-8 ROM on
June 18, you asked me to let you know
when Micro C #18 arrived. Issue #18,
the PRO-8 set, and four Kaypro disks or-
dered separately all arrived yesterday,
June 25. When I renew my subscription I
will go the 1st Class Mail Route. It's
worth the extra money to avoid having
to wait almost one month for the PO to
get around to delivering bulk mail.
The PRO-8 set arrived with the box
squashed and soaking wet. The instruc-
tions dried out OK and the ROMs look
OK, at least there was no water inside
the ROM package and the pins are
straight. The disk cover has a slight
crimp but the disk looks OK. Will have to
wait about two weeks to find out if it real-
ly works since I can't get the the II to 4
conversion right now. My postmaster
saw the package and she will testify
abot- 'V condition if I have to make a
claim. Have you considered offering to
insure shipments at the buyer's request?
I know it wouM cost more but it could
save some aggravation.
Bill Warshaw
12 Tamara Drive
Roosevelt NJ 08555
Editor's Note:
We know that bulk mail is slow (it's sup-
posed to be 10 days maximum), but the price
is right (12 cents per copy vrs. over a dollar).
Also, only a very small percentage of the
packages we send get damaged by the post of-
fice so we take a chance by not insuring them.
If any part of your shipment was damaged,
fust return it and we'll send a replacement
free.
Dear Editor,
Thought your readers might like to
know that I've just finished interfacing
my Kaypro-II to a 1908 steam locomo-
tive. The Kaypro rides up front with the
engineer and controls an automatic coal
shoveler that's RS232 compatible. In ad-
dition, I've dedicated an unused parallel
port to control the pitch and duration of
the steam whistle.
I had a problem with heat, but I've
solved that by keeping the Kaypro in a
rather large cooler partially filled with
ice. I've still got a problem with my disk-
ettes, however. They won't fit with the
Kaypro in the cooler, and the heat near
the furnace causes them to take on funny
shapes. Occasionally, I have to shove
real hard to get them into the drives. Any
ideas on keeping my diskettes cool?
Also, I could use some advice on my
next project, interfacing a Kaypro to my
new hang glider. I can't find a place on
the frame to bolt both the computer and
two 12 volt batteries.
Captain Mick, UFO Ret.
1924 N. 6th St.
Concord CA 94519
Editor's note:
Mick, I folded your letter into an airplane
and attached a Kaypro. It didn't fly. (We are
going to try from the top of a neighbor's flat-
bed truck but we need to replace a cracked
CRTfirst.)
The idea of controlling an automatic coal
shoveler doesn't auger well. Considering the
environmental problems, you probably
should buy a shovel and then use your cooler
for beer.
Perhaps other folks could offer advice on
creative new interface ideas. We're planning
to install a Kaypro-II in a 1967 Volksivagon
Bug (if we can keep thebug running). At first
it will be pure research, the driver will always
have current information on pavement tem-
perature, wind velocity, and satellite-based
relative position. Then, for instance, we can
tell if the vehicle is running by watching the
relative position overa24 hour timeperiod (it
would also be great for checking the progress
of migrating turtles and the post office.)
Dear Editor,
Having recently purchased a Kaypro-
10, and being all-too-human when it
comes to accidental file deletions, I pur-
chased a copy of Kaypro user disk K2,
mainly for the UNERA and FIX pro-
grams. I have, in playing with them, dis-
covered that they have considerable
trouble with restoring files on the Kay-
pro 10 hard disk.
The UNERA program says it is unable
to locate the erased file, no matter which
logical disk (A: or B:) or user number the
file is associated with. The RECOVER
command in FIX seems to hang the sys-
tem while accessing the hard disk. How-
ever, when the system is reset, the file
appears to have been restored correctly
and the directory structure is intact, but
this is hardly confidence-inspiring.
Is this behavior of UNERA and FIX
known to others? If so, has anyone de-
veloped a version of either program
which is more comfortable with the Kay-
pro 10 hard disk, or (even better) does
anyone have a patch for one of the exist-
ing programs?
Christopher Pettus
10920 Palms Blvd. Suite 110
Los Angeles CA 90034
Editor's Note:
Well, help has arrived. We have found an
UNERA that works well on the hard disk and
have replaced the old copy of UNERA with
the new version. However, FIX still occa-
sionally hangs up on the 10. We haven't
found an update for it yet. Those hard disk
and hard luck purchasers of disk K2 can send
their disk in for an updated UNERA.
Dear Editor,
I have modified a Xerox 820-11 so that it
will display black characters on a white
background. The problem I'm having,
however, is that the people who built the
display started with a good design and
then removed parts until the unit was
just barely working. So, I am having
some problems with retrace blanking
and there is a dark vertical bar in the cen-
ter, probably due to unsufficient quies-
cent current in the horizontal output.
Can anybody help me find schematics
of the analogue part of the Xerox 820-11
monitor? I have tried Xerox-Finland etc.
but they regard the analogue portion as a
nonserviceable module.
A W Gustafsson
Kaptensgatan 2A5
SF-22 100 Mariehamn
Aland Islands, Finland, Europe
(Letters continued on page 64)
Micro Cornucopia, Number 20, October 1984
MODEL 2000
4 MHz Z80-A COMPUTER WITH HARD DISK INTERFACE
AND UP TO A MEGABYTE OF RAM
: f \i: $\
S> ?--3 « 'I :■: I':
M
$
I mWH) Hi Ml ■'■#: M ,*•■. i
:Vt :t f : ' fVl .* ;::
ASSEMBLED
AND TESTED
BOARD WITH
64K of RAM
498
00
• PROCESSOR:
A Z80-A cpu running at 4 MHz with no added wait states and supporting
mode 2 interrupts. Sockets are included for the optional DMA controller and
a 951 1 or 951 2 arithmetic co-processor.
• MEMORY:
Up to 1 megabyte of main memory may be plugged in to give the Z80-A
phenomenal performance (4 banks of 64K or 256K rams). Bank selecting is
in 1 6K segments so that there is no wasted memory. Any 1 6K segment may
be placed into any one or more of the four 1 6K banks that the Z80 directly ad-
dresses. A 65th segment contains the 4K video ram and 8K 2764 eprom.
Any 16K segment may be write protected.
• DISK DRIVE INTERFACE:
The floppy disk controller is a WD 2797 and will run four 5.25" or 8" drives,
single or double sided, single or double density and up to 255 tracks per
side.
The HARD DISK port is designed to accept a Western Digital hard disk
controller.
• VIDEO:
A high quality 80 x 24 character display is produced by an SMC 5037 and
8002A video chip set using 7 x 9 dot character in a 9 x 1 2 field. Video attri-
butes include: reverse, blink, blank, underline and strike-thru. Two graphics
modes are supported and may be displayed along with text. The final output
is composite video for easy connection to most monitors.
• KEYBOARD PORT:
An interrupt driven serial port for the keyboard provides a true type ahead
buffer and allows for a simple coiled cord connection to a detached
keyboard.
• INPUT-OUTPUT:
The RS232-C serial port comes complete with a D-SUB connector and
will communicate at 110 to 19.2K baud. The parallel printer port uses full
handshaking and has a Centronics style connector. Optional ports include
two additional RS232-C serial ports or a 800Kbit networking port and one
**• RS232-Cport.
• POWER REQUIREMENTS:
5V at 1 .5 amp and + 1 2V at 0.1 amp
• SIZE:
8.5" x 13"
• SOFTWARE:
ETOS II operating system (CP/M 2.2 compatible)
BIOS for 5.25" drives (Kaypro II & 4 format) and a HARD DISK.
CP/M is a registered trademark of Digital Research
TERMS: We ship C.O.D. inside the U.S.A. Prepaid Orders: inside California
add 6% sales tax, freight extra, company and personal checks, please allow
3 weeks to clear. Mastercard and Visa accepted.
PRICES
Assembled and tested board with 64K ram 498.00
Keyboard 75.00
Main case ; 100.00
Keyboard case 25.00
Drives single sided 150.00
Drives double sided 175.00
Video display, green 100.00
5V 3 amp power supply 30.00
12V 2 amp power supply 30.00
Quiet fan 16.00
Cable— floppy disk 5.25" 16.00
Cable— 5 & 12V power 8.00
10 MB half high drive 575.00
Hard disk controller 250.00
Hard disk cable kit 50.00
Networking port '. 100.00
2 extra serial ports 50.00
8161 BROADWAY
LEMON GROVE, CA 92045
(619)466-1671
Micro Cornucopia, Number 20, October 1984
HSC 68000 Co- Processor
By Mark Boyd
Box83WSU
Wichita KS 67208
Single board computers are great, but
I think double-board computers may be
the wave of the future; at least for the
serious microcomputer enthusiast. I'm
talking about a double-board system
consisting of a utility single board com-
puter, e.g, a Kaypro or Big Board, and a
co-processor board with a more exotic
CPU having its own memory.
Enter the 68000
Following this concept, I bought a rea-
sonably priced 68000 based system inte-
grated (well, almost integrated, actually
it's mounted on one side of the cabinet)
with my Kaypro-II. There was no way
that I could afford a Sage or other com-
plete 68000 system, but I really wanted a
68000.
Now don't get me wrong, my Kaypro-
II is by far the best buy in bundled com-
puter hardware and software around. I
have no complaints about the available
CP/M 80 software either. The Z80 may
even be a good microprocessor, but I was
brought up on Motorola microproces-
sors. Ever since I got my Kaypro I have
wished that I could have all that great
CP/M stuff and a Motorola microproces-
sor to play with.
HSC on the Horizon
After considerable searching, I finally
found a useful 68000 system that allows
me to "have my cake and eat it too." The
heart of this system is a co-processor
board known as the CO-1668, sold by
HSC INC. They also have a 8086/8186
co-processor, the CO-1686, if you like
that sort of thing.
68000 systems have been available for
quite a while now, but not at a price I was
willing to pay. Sure it would be nice to
have UNIX and 50MB of hard disk, but I
just wanted a decent development sys-
tem to play with. The CO-1668 co-proc-
essor board makes this possible and it
has a big price advantage over a full com-
puter system. All it provides is a CPU,
memory, and one relatively simple I/O
channel. The host computer acts as an
I/O processor controlling an extensive
set of I/O devices. If the host is a mass
produced utility computer system, the
result is quite cost effective because of
the low cost of the host hardware.
The combination of the Kaypro-II and
the CO-1668 gives you: 256K 6MHz
68000 system with parity checking mem-
ory, two drives, 80 X 24 display, key-
board, printer port, RS-232 modem port,
CP/M, and CP/M 68K (includes a C com-
piler, assembler, linker). And best of all,
the whole package is only about $2200
(assuming you paid $1295 for the Kay-
pro). For $700 more you can expand the
68000 system memory to 768K.
All the 68000 memory is available as a
RAM disk for the CP/M 80 system and
any increment of 128K to the original
memory can also be used as RAM disk
under CP/M 68K.
Since both processors use CP/M, the
file systems and the console command
interpreters are completely compatible.
This allows easy switching back and
forth between the CPU's, and the use of
CP/M 80 utility software with CP/M 68K
files. (Editor's note, CPIM 68K looks like it
may become the standard operating system
for 68000 systems.)
Minor Rain Clouds
Probably this is sounding a bit too
much like an ad. However, the only
drawbacks I've discovered in this system
are pretty minor. A caveat here; I've only
been using the system for a limited time,
maybe 60 hrs total.
Perhaps the most serious drawback:
the !@#$%CTRL thing is about 1/2 inch
too big too fit conveniently inside the
Kaypro. I had to mount it on the outside,
at least for now. It requires less than 1
amp at 5V, which the Kaypro provides
without any problem. I am not sure how
the Kaypro supply would do if the board
was fully stuffed with memory. (HSC
sells a separate case and power supply
for the co-processor board.)
This is a general purpose co-processor
which will work with any Z80 based sys-
tem running CP/M 2.2.
The Kaypro-II drives (191 K) are usa-
ble, especially in combination with the
128 K RAM disk, for CP/M 68K, but a
Kaypro 4 (390 K) would be better. I have
had some minor problems with compati-
bility between CP/M 80 and CP/M 68K;
when using CP/M 80 initialized disks
with CP/M 68K, the system tracks get
written over by data files. This is a minor
problem since those tracks are only used
when you cold boot the system, warm
boots of CP/M 68k don't use the disk. I
just keep a separate boot disk and use it
only for booting or setting up the RAM
disk under CP/M 80.
Cold booting is always on CP/M 80,
then I run a program to load CP/M 68K
and set up the I/O interface. It takes less
than half a minute to be up and running
CP/M 68K.
To the casual user, CP/M 68K is CP/M
80 2.2 with some minor enhancements.
For the more serious user, the enhance-
ments are quite significant.
For instance, system calls are provided
to take advantage of the much more so-
phisticated 68000 processor.
The version of C that is provided with
the operating system does not support
floating point, but it is quite powerful
and does follow Kernighan and Ritchie.
It provides many of the features of UNIX
C, where they make sense in a CP/M 68K
environment, or where they can be sim-
ulated.
I do not have much experience with C,
but, after working with this C for a
while, it does appear to be good imple-
mentation. In fact, the entire CP/M 68K
system seems to be designed around the
UNIX C environment, a very good way
to go with the 68000.
Is There a Doc in the House?
The software documentation supplied
with the system is good, what there is of
it. Several sections assume (explicitly)
that you have other reference books and/
or manuals. This is frustrating since
these references are neither supplied nor
readily available.
Hardware documentation is almost
nonexistent. Installation is simple and
well-documented. The overall quality of
the documentation is good, but the cov-
erage is barely adequate for an experi-
enced user. There is no tutorial material
nor any examples for any of the software
other than the installation package.
This system is not for an inexperi-
enced user. Familiarity with CP/M and C
is assumed. It also wouldn't hurt to be
very familiar with the 68000 before read-
ing the documentation. The system doc-
umentation was designed for hardware
neophytes with extensive software back-
(continued next page)
Micro Cornucopia, Number 20, October 1984
HSC 68000 CO-PROCESSOR (continued)
grounds.
The software supplied with my sys-
tem came on two IBM format DSDD
minifloppies. It was a pain to get it
down-loaded to Kaypro-II format. I
think there was a misunderstanding
when I ordered, since I requested stand-
ard eight inch CP/M. HSC did offer to
download to Kaypro-II format, for a fifty
dollar charge.
A source code package for HSC's part
of the software is mentioned, but price
and availability information are not giv-
en. HSC says that the supplied source
code is set up for their own assemblers.
This means a further expense or hassle to
use it.
Speed
The 6 MHz 68000 with 200 ns. memory
should provide more than adequate per-
formance by microcomputer standards
(i.e. similar to the Slicer). The one bench-
mark I have run is the BYTE version of
the sieve algorithm in C. It took about
ten seconds (six using register variables)
for ten iterations. This is two and one
half times as fast as the best 6 MHz Z80
result given in the June 84 issue of BYTE.
The C compiler makes three passes
(plus the assembly pass and the linker
pass) but the entire process can be con-
trolled by supplied submit files and only
takes about two minutes (using the RAM
disk on a small program). The output of
the linker is a relocatable object file.
The archive program is used to build
and maintain libraries of functions creat-
ed as object code files. My overall im-
pression is that CP/M 68K will be a very
good program development environ-
ment once I get it all figured out. Better
documentation would make the figuring
out process less time consuming.
Conclusion
The CO-1668 co-processor system is a
nice piece of work. In conjunction with a
single board Z80 based CP/M 2.2 sys-
tem, it provides a powerful system at a
very reasonable price. It is expandable,
portable in the sense that it could be
transferred to other Z80 based systems,
and easy to install. It comes with a good
software package but weak software
documentation. The hardware looks
good and works well, but is almost un-
documented. I just wish it were 1/2 inch
shorter so that it would fit inside my
Kaypro.
CO-1668 ($899.00)
HSC. Inc.
262 East Main St.
Frankfort NY 13340
315-895-7426
A POWERFUL 68000 DEVELOPMENT
ENVIRONMENT FOR YOUR Z80 SYSTEM
C01668 ATTACHED RESOURCE PROCESSOR
68000 Assembler
C Compiler
Forth
Fortran 77
Pascal
BASIC-PLUS
CBASIC
APL. 68000
6 MHZ 68000 CP/M-68K 768KRAM
4 x 16081 MATH CO-PROCESSORS CPM80 RAM DISK
Develop exciting 68000 applications on your current Z80 based CPM system using
powerful mini-frame like 32 bit programming languages. And then, execute them at
speeds that will shame many $100K plus minicomputer systems.
The C01668 ATTACHED RESOURCE PROCESSOR offers a Z80 CPM system owner a
very low cost and logical approach to 68000 development. You have already spent a
small fortune on 8 bit diskette drives, terminals, printers, cards cages, power
supplies, software, etc. The C01668 will allow you to enjoy the vastly more powerful
68000 processing environment, while preserving that investment.
C01668 ATTACHED RESOURCE PROCESSOR SPECIAL FEATURES:
68000 running at 6 Mhz
256K to 768K RAM (user partitioned between
CPU and RAM Disk usage)
Up to four 16081 math co-processors
Real time clock, 8 level interrupt controller
& proprietory I/O bus
Available in tabletop cabinet
Delivered w/ sources , logics, & monolithic
program development software
Easily installed on ANY Z80 CPM system
CP/M-68K and DRI's new UNIX V7 compatible
C complier (w/ floating point math) - standard
feature
Can be used as 768K CPM80 RAM Disk
Optional Memory parity
No programming or hardware design required
for installation
Optional 12 month warrantee
PRICES START AS LOW AS $899.00 for a C01668 with 256K RAM, CPM68K, C Complier, Sources,
Prints, 200 page User Manual, Z80 Interface, and 68000 System Development Software.
For further information about this revolutionary product or our Intel 8086 Co-Processor, please send $1
[no checks please] or call:
me
Hallock Systems Company, Inc.
262 East Main Street
Frankfort, New York 13340
(315) 895-7426
RESELLER AND OEM
INQUIRIES INVITED.
Micro Cornucopia, Number 20, October 1984
IL
INTRODUCING
THE CVPHER
IL
A COMPLETE 68000 & Z 80
SINGLE BOARD COMPUTER SYSTEM
WITH ULTRA-HIGH-RES GRAPHICS!!
• 68000 & Z80 DUAL PROCESSORS (BEST OF BOTH
WORLDS!).
• 256K TO 1 MEGABYTE MEMORY.
• DOUBLE DENSITY FLOPPY DISK CONTROLER (8" OR
5V4". WD 2797)
• DMA CONTROLLER FOR FAST IMAGE TRANSFERS TO/
FROM VIDEO MEMORY. (INT 8237)
• 2 RS232 SERIAL PORTS (ZSIO).
• 24 BIT ADDRESS MANAGEMENT FOR Z80.
• 4 LAYER P.C.B. (9Vi X 14W)
• ULTRA HIGH RESOLUTION GRAPHICS. 128K.
PROGRAMMABLE UP TO 1024 X 1024 RESOLUTION
(NEC 7220, GREAT FOR CAD SYSTEMS!).
• REAL TIME CLOCK (MULTITASKING CAPABILITY!)
• TWO CHANNELS OF D/A AND A/D. 12 BIT
RESOLUTION (MUSIC! ROBOTICS!).
• 16K TO 64K MONITOR EPROM
• 4K TO 64K STATIC RAM.
• PROGRAMMABLE BAUD RATE GENERATOR.
• PARALLEL ASCII KEYBOARD INPUT
• FULL 68000 EXPANSION BUS (60 PIN HEADER.
BUFFERED)
HARD DISC INTERFACE PLUG-IN CARD (AVAILABLE SOON)
MANUAL $ 20.00 COMPLETELY ASSEMBLED "CYPHER" WITH 256K DRAM.
BARE BOARD. EPROMS. CPM-80 BIOS. CPM-68K BIOS 280 '28K VIDEO DRAM. NEC 7220. PEAL TIME CLOCK. A/D D/A
MONITOR, 68K MONITOR AND UTILITIES S 449.95 * 1 .549.95
BASIC ASSEMBLED SYSTEM TESTED WITH 68000/Z80. KEYBOARD $ 94.95
SERIAL I/O. 1 28K DRAM, 4K S RAM AND DISK CONTROLLER SWITCHING POWER SUPPLY S 1 54.95
$1 ,1 49.95 CASE S 94.95
ALL PRICES ARE IN US DOLLARS
SHIPPING 8% SHIPPING. EXCESS WILL BE REFUNDEI
DELIVERY WILL BE MADE APPROXIMATELY 3 TO 5
WEEKS AFTER WE RECEIVE YOUR ORDER VISA. MO
CASH
PRICES SUBJECT TO CHANGE WITHOUT NOTICE
fit
MOTEL COMPUTERS LIMITED
174 BETTY ANN DRIVE,WILLOWDALE,
ONTARIO, CANADA M2N 1X6
(416)221-2340
CALL WREN!
DISKS:
Dysan
Verbatim
5V*
SSDD
S3.40
5Va
SSDD
S2.70
SV*
DSDD
4.45
5V 4
DSDD
3.75
5%
SS4D
4.85
5 1 /4
SS4D
3.50
SV*
DS4D
5.40
5V4
DS4D
4.75
8
SSSD
3.85
8
SSSD
3.10
8
SSDD
4.85
8
SSDD
3.40
8
DSDD
5.40
8
DSDD
3.80
Disk Mailers 10 for S5.00, 100 for S40.00.
PRINTERS: ^M
OKI
82 A
S&P
8.5 Carr.
120 CPS
S 325
83 A
S&P
13.6 Carr.
120CPS
575
84 P
P
13.6 Carr.
200 CPS
975
84 S
S
13.6 Carr.
200 CPS
1065
92 P
P
8.5 Carr.
160 CPS
440
92 S
S
8.5 Carr.
160 CPS
530
93 P
P
13.2 Carr.
160 CPS
715
93 S
S
13.2 Carr.
160 CPS
900
2350
P
13.6 Carr.
350 CPS
1975
2350
s
13.6 Carr.
350 CPS
2025
DRIVES:
Tandon 848-1 8 SSDD S325.
Tandon 848-2 8 DSDD 375.
Tandon 100-1 5 1 / 4 SSDD 175.
Tandon 100-2 5 1 / 4 DSDD 238.
513-931-71601
Minimum Order S30.00
WREN
880 Reynard
Cincinnati, Ohio 45231
THE LITTLE BOARD®
OEM — INDUSTRIAL — SCIENTIFIC
SECOND GENERATION SINGLE BOARD COMPUTER KIT!
4 MHZ Z80* CPU! 64K RAM! DOUBLE DENSITY!
FREE CP/M* 2.2!!!
A $139 VALUE! A FREE
5-1/4 IN. CP/M 2.2
DISKETTE IS INCLUDED
WITH EACH KIT.
A. & T. UNITS
$349
%
«W
$09500
(COMPLETE KIT)
MINI-SIZE:
ONLY
5-3/4 x 7-3/4 INCHES
FULLY SOCKETED! PERFECT MATE TO OUR ZRT-80 TERMINAL BOARD. THROUGH SPECIAL ARRANGEMENT
WITH AMPRO COMPUTERS, WE ARE PLEASED TO OFFER THEIR LITTLE BOARD® IN KIT FORM.
FEATURES:
4 MHZ Z80 CPU!
DOUBLE DENSITY (5-1/4 IN.) FLOPPY CONTROLLER
64K DYNAMIC RAM!
CENTRONICS STYLE PARALLEL PRINTER PORT
USES +5VDC @ .75 A. AND +12VDC @ 50MA
TWO RS232 SERIAL PORTS
SAME SIZE AS A MINI FLOPPY
2732 BOOT EPROM
Digital Research Computers
W (OF TEXAS) '
P.O. BOX 461565 • GARLAND, TEXAS 75046 • (214)271-3538
TERMS: Shipments will be made approximately 3 to 5 weeks after we
receive your order. VISA, MC, cash accepted. We will accept COD's with a
$75 deposit. Balance UPS COD. Add $4,00 shipping.
USA AND CANADA ONLY
LITTLE BOARD® — AMPRO
Micro Cornucopia, Number 20, October 1984
Z80™ — ZILOG CP/M'" DIGITAL RESEARCH (CA.)
DynaDisk For The BBII
By Donald H. Bundy and Curtis Edmonds
1884 Randa Lane
Las Vegas NV 89104
702-457-3005
Xhe BBII can be modified to run the
DynaDisk from L.A. Software with very
few circuit changes, but first we outfitted
our BBIIs with Andy Bakkers "mixed"
version of CBIOS (available through Mi-
cro C) which supports both 5 and 8 inch
drives.
Using The Dyna
There are two ways to run Dyna. In
the first method, we read an 8" disk into
Dyna using BEGIN.COM. Then SWAP-
.COM reassigns Dyna as drive A and
sets up the system to warm-boot from
ROM. At the end of the work session,
QUIT.COM copies the contents of Dyna
back onto an 8" disk.
When we are working from a 5" drive,
we format Dyna with FORAM.COM and
then use PIP to transfer files into and out
of the RAM disk.
Mixed Modifications
The first modification dates back to the
installation of the mixed BIOS.
We used a small piece of perforated
board (see Figure 1) to mount a multi-
plexer chip (74LS157). The board plugs
into jumpers JB4, JB8, and JB5 which are
located along one side of the floppy con-
troller chip. We cut up a wire- wrap sock-
Figure 7 - Multiplexer
ftJI2" LENGTH
JB35
m
4
•JB-4
JB-34* «JB-8
16 PIN
74LSI57
Figure 2 - interface Board
J9
JI0
34 PIN
I 1 I I I I I I I I I I I I 1 1
I I I I I I I 1 I 1 I I I I I I I
et and mounted it on the board so that its
holes matched the pins on JB4, JB8, and
JB5.
Note that the connector groups on the
BBII are not on 0.1 inch centers so some
holes must be enlarged or redrilled in the
small card before the sockets can be
epoxied in place.
The connection to JB35 was made with
a short piece of 3-conductor ribbon ca-
ble. A socket cut from the wire wrap
socket plugs into JB35. 5v is available at
JB34-3 and ground is available at JB4-1. A
0.1 or 0.01 capacitor should be soldered
across the power leads.
You'll need another small piece of per-
forated board to build a connector to in-
terface between the RAM disk and the
BBII (see Figure 2). Cut connectors from
an old wire-wrap socket. Again, the
spacing between the connector groups
on BBII are not on 0.1 inch centers so
you'll need to re-drill as before.
You can mount a 34-pin right angle
header between the area above J10 and
Jll. As an alternative you can jumper J10
underneath to BBII board (or wire-wrap
on top) or you can use a strip of socket to
plug into J10 and add jumpers on the
small perforated card.
When all the connections have been
made, cut the exposed extra length from
the wire- wrap pins. A drop of solder on
each pin improves appearance and cov-
ers the sharp ends while making the con-
nections permanent.
We also modified our Dynadisk, we
added a 74LS74 D type flip-flop to delay
CAS for one additional clock cycle.
There is also another way to handle
this (if it hasn't been done already).
There are some spare gates on the card
and if you prefer not to add the flip-flop,
see Figure 3 and do the following: B5 and
F5 are spares in location 8, 9 and 10. Con-
nect B5 pin 10 to D4 pin 4(-0B), B5 pin 9 to
+5V, connect B5 pin 8 to F5 pin 10, con-
nect F5 pin 9 to C4 pin 8(-CADRS), and
connect F5 pin 8 to CI pin 15. The trace to
CI pin 15 must be cut so it only goes to F5
pin 8.
Changes To The BBII
Modifications to the RAM disk are
necessary because the BBII uses simple
latches in place of the PIO .
Install a socket in the BBII's prototype
area (we will call this K5), see Figure 4.
Cut the trace -RAS from C4 pin 6 near B5
pin 5. Connect K5 pin 6 to B5 pin 5. Con-
nect K5 pin 4 to +5v. Connect K5 pin 5 to
-OH at D4 pin 13. Cut the trace from the
interface connector J5 pin 22 (BRDY) to
D5 pin 13. Connect K5 pin 8 to D5 pin 13.
Connect K5 pin 3 to K5 pin 10 and to
K5 pin 9 with a IK ohm resistor. Connect
a 1000 pF capacitor from K5 pin 9 to
ground. These two parts create a small
delay. Connect +5V to K5 pin 2 and con-
nect K5 pin 1 to interface connector J5 pin
22..
BBII Parallel Interface
Finally, you must modify the BBII's
parallel interface. The DATA-IN on J10, 1
thru 15 (odd only) must be paralleled
with DATA-OUT on Jll, 1 thru 15 (odd
only).
As we noted previously on the de-
scription of the connector, you get to de-
cide which of the options you prefer to
do. Only three jumpers are required.
Cut the trace between U100-11 and
U101-3, being sure to leave the trace
from U101-3 to U102-7 (see Figure 5).
Connect U100-11 to U105-1. Connect
U103-1 to U105-8 (-ODAV2). Connect
J10-19 to J9-19. Again you decide: you
Figure 3 - Wiring Spare Gates
CI - 15
C4-8
Figure 4 - Prototype Area Circuit
u^t — +5
^^_J£ 0H
J5-2«-%( B5 5 6
J5-22<
+5
j
8
Micro Cornucopia, Number 20, October 1984
can do it on the BBII card, on the connec-
tor, or on the perforated card.
Connect the BBII to the Dynadisk with
a 34-conductor flat ribbon. The point-to-
point wiring list is shown in Figure 6.
Figure 5 - Parallel Port Modifications
If you want to add some things your-
self, you might add an auto refresh to the
Dyna. Another change that looks rather
simple is upgrading to 256K RAM chips.
We don't plan to try this modification
0UT3-
1»
s
D Q
UI00
t> Q
R
I0D7-
6-
5-
4-
3-
2-
I -
IOD0-
JH
74LS
373
OE
V.
'-U
I0I-74LS04
IN2-
1l
s
D Q
UI05
Q*-i
I0D7-
6-
5-
4-
3-
2-
I -
IOD0-
UI04
74 LS
373
OE
13-
-> J9- 15 037
-13
-I I
- 9
- 7
-5
- 3
-> J9- I 030
-> J9-20 OEI
-> J9 -17 ODAVt
7
"> J9- 19 TAKE)
T^j
UIOI-74LS04
-> JI0-I5 127
-13
-II
-9
-7
-5
-3
-> J 10 - I 120
X*
JI0-I9 GIVE2
until the cost of 256K chips comes down.
We haven't tried our current CBIOS
with a Winchester because we don't have
one. When we get one, we will incorpo-
rate whatever changes are necessary and
make them available.
Software will be available on 5 inch
diskette for $15 from:
Curtis Edmonds
300 E. Kimberly Dr.
Henderson NV 89015
Figure 6 - Interface Cable Connections
-> J 10 — IT IDAV2
BBII
J11-1
J11-3
J11-5
J11-7
J11-9
J11-11
J11-13
J11-15
J11-19
J11-17
J9-19
J9-17
J9-1
J9-3
J9-5
J9-7
Dyna
J5-6
J5-8
J5-10
J5-12
J5-14
J5-16
J5-18
J5-20
J5-2
J5-4
J5-24
J5-22
J5-26
J5-28
J5-30
J5-32
PUT TIME OUT OF MIND, INTO MEMORY WITH...
MICROCRON
"Finally, a real time calendar/clock for the 820,
820II and Big Board. Time stamp files, document
-printouts. Your computer need never ask YOU the —
time again. We use an OKI clock chip with a lithium
"battery backup. Crystal controlled to time resolutions'
-of one second. 12/24 hr. format, even keeps track
.of leap year. Board simply plugs into parallel port.
„It comes with software on disk and manual
.Please state type of system and 5 l A or 8 inch disk
■Let MICRONCRON put time out of mind, into memory.
:MC - 1 with disk $69.i
MC, VISA COD. CHECK.
PS*H$2. NYS ADD TAX
Xerox 820. 820 II trademark of Xerox
716-377-0369
POBOX81
PITTSFORD, NY 14534
D OPTRONICS
TECHNOLOGY
!§$$
Micro Cornucopia, Number 20, October 1984
8" Dual Drive System
2 FDD 200-8 disk drives (NEW)
fiberglass case
1 1L x 19W x 22H
self contained power supply
fan cooled
$650.00 f.o.b.
Siemens Disk Drive
Brand New
SS/DD (FDD 100-8)
factory warrentee
$159.00 f.o.b.
DS/DD (FDD 200-8)
factory warrentee
$219.00 f.o.b.
Computer Table
36L x 26W x 25H
laminated top
steel sides
steel legs w/levelers
$75.00 f.o.b.
Keyboards
used/tested
7 bit ASCII
stl & alum case
single voltage
varied mfgrs.
$35.00 f.o.b
8" Disk Drive
removed from sys.
mfgrd. by MPI
220 volt motor
w/schematic
complete w/PC board
sold "as is"
$50.00 f.o.b.
Diablo P-11 Printer
Brand New
100 CPS 9x7 dot matrix
Centronics parallel
96 ASCII chars,
adj. tractor feed
$300.00 f.o.b.
Monitor Kit
12" CRT P4 phos
steel chassis
12 VDC video board
horz/vert input
$35.00 f.o.b.
Data Royal Printer
used/refurbished
tested & guarenteed
u/l case & graphics
RS232 - 120 cps
9x7 dot matrix
15" adj. tractor feed
bi-dir - ASCII - self test
$300.00 f.o.b.
Hazeltine 1410 Sys
Brand New
Hazeltine 1410 terminal
TeleData 300 baud modem
RS-232 cable
$350.00 f.o.b.
Misc. Equip.
DB25 cable (m/m,m/f) $15.00
2 for $25.00
4" muffin fans 6/$15.00
3" sprite fans 6/$15.00
16 pin IC sockets
70/$10.00
edge connectors $1.00
EPROM (2716)- $1.00
mini toggle switches
5/$1.00
woven ribbon cable
40 pin IDS/40 pin IDS (10')
$10.00 ea. 3/$25.00
min. order $10.00
BMC Monitor
12" P-31 green phos
hi res 15 Mhz
80 x 24 chars
refurbished & tested
composite video
BNC video thru port
all external controls
$65.00 f.o.b.
12" P-4 B &W
same specs
$50.00 f.o.b
Computer Table
Brand New
26L x 28W x 27H
laminated top
steel sides
steel legs w/levelers
$59.00 f.o.b.
Keytronic Keyboard
Brand New
8 bit ASCII
single voltage
w/schematic
numeric keypad
w/o case
$35.00 f.o.b.
SELECTRONICS
Dealers in new-used-rebuilt
elec equip & peripheals
1229 S. Napa St.
Phila.,Pa. 19146
215-468-4645
we ship anywhere
all prices are f.o.b.
our warehouse
10
Micro Cornucopia, Number 20, October 1984
BB I : ETX/ ACK Serial Print Driver
By Norman B. Doty
Xhis routine will allow you to use a
diablo hytype or other printer that re-
quires the ETX, ACK protocol with your
BB I or Xerox 820. 1 incorporated the fol-
lowing changes into the CBIOS on user's
disk B2 (the CBIOS and BOOT on that
disk work fine on both the BB I and the
Xerox 820).
The changes to the BIOS are simple:
1. Four lines are added to the equates
in the start of the cbios.
2. In the warm boot area a small rou-
tine called CLRSIO is used to flush all
CBIOS Changes for ETX I ACK Protocol
(CHANGE 1)
3242 Walden Ave.
Depew, NY 14043
four of the SIO's input buffers, just in
case there is data already pending.
3. Next is the LSTOUT routine which
is documented by the remarks in the list-
ing.
4. Last is the initialization of serial port
B for the required baud rate. This is
placed in the INTAB area for use on boot.
If you select a lower baud rate compati-
ble with the printer (like 300) then you
won't need any of the protocol since the
printer can keep up with the data.
5. Don't forget to change the jump
vector at the start of the cbios.
SIOOUT EQU 0F018H
SIOIN EQU 0F015H
SIOST EQU 0F012H
ETX EQU 3
;M0NIT0R SERIAL OUTPUT ROUTINE
;M0NIT0R SERIAL INPUT ROUTINE
{MONITOR SERIAL INPUT STATUS
{ASCII END OF TEXT CHAR.
(CHANGE 2)
LD
B,4
{LOAD COUNT TO FLUSH SIO INPUT REG'S.
CLRSIO:
CALL
SIOST
{ALL FOUR OF THEM
INC
A
CALL
Z, SIOIN
DJNZ
CLRSIO
(CHANGE 3)
LSTOUT:
LD
A,C
{MOVE DATA
CALL
SIOOUT
{WRITE IT TO THE SERIAL DEVICE
!
LD
A,C
{MOVE DATA AGAIN BECAUSE SIOOUT DOES NOT
RETURN CONTROL CHARS. THAT WERE SENT TO IT
CP
OAH
{TEST FOR LF
JR
Z.LST1
{JUMP IF SO
RET
LST1:
LD
A, ETX
{LOAD END OF TEXT
CALL
SIOOUT
{WRITE IT
XOR
A
{TWO NULLS TO FLUSH THE SIO OUTPUT BUFFERS
CALL
SIOOUT
XOR
A
CALL
SIOOUT
LD
HL,0
{LOAD MAXIMUM DELAY
LD
BC,1
,-LOAD DECREMENT COUNT
LST2:
CALL
SIOST
{CHECK SIO STATUS
INC
A
{ADJUST THE STATUS
JR
Z, LST3
;G0 TO NEXT STEP IF DATA IS AVAIL.
SBC
HL,BC
{ELSE DECREMENT MAXIMUM DELAY
JR
NZ.LST2
;RE-DO IF THE DELAY NOT TIMED OUT
RET
{RETURN AFTER MAXIMUM DELAY & NO CHAR PENDING
LST3:
CALL
RET
SIOIN
{READ SIO TO FLUSH THE CHAR PENDING
(CHANGE H)
DEFB
01
{LENGTH OF TABLE DATA
DEFB
0CH
;SIO PORT B ADDRESS
DEFB
07
{CODE FOR 1200 BAUD
DEFB
0FFH
;END OF TABLE
END
EZPROMMER
EPROM PROGRAMMER
FOR THE BIG BOARD
AND XEROX 820
FEATURES:
• Supports 2716, 2732, 2732A,
2764, 27128, 27256
• Easily installed with only two
connections
• No external supply needed, all
power denved from +5 Volts
• All power controlled by
software
• Extensive MENU driven soft-
ware to Read, Program, Save,
Load, Verify CRC check,
Dump, Erase check complete
with source code
• Over one year of troublefree
use.
EZPROMMER
A&T w/Harness, Disk . . . .$125
KitwithDisk $90
APL
CHARACTER GENERATOR
FOR XEROX 820-11
Upgrade kit allows the 820-11 to
display all the standard charac-
ters and attributes while permit-
ting the display of all APL char-
acters. Kit includes ROM and
software.
APL UPGRADE KIT . . . $49.95
NY RES. ADD LOCAL TAX. POSTAGE
AND HANDLING $2.00
VISA, MC, CHECK or COD
716-377-0369
OPTRONICS
TECHNOLOGY
D
P.O. BOX 81
PITTSFORD, NY 14534
Micro Cornucopia, Number 20, October 1984
11
Integrated BIOS
for BB II
This BIOS adds special features
for floppy and Winchester users.
Floppies
Read and write almost any 5"
and/ or 8" disk format
40 formats included
(Kaypro, Osborne, IBM . . .)
Use any type of 5" and/ or 8" drive
(SS, DS, 40- 77- or 80 tracks)
New SYSGEN works directly
between 5" and 8" disks.
May be configured for Jim F.'s
256K RAM disk, ZCPR2,
Centronics, CP/ M in ROM, etc.
Winchester
Winchester formatter and new
Winchester SYSGEN (can make
the Winchester drive A:)
Supports XEBEC and
ADAPTEC controller.
Subdivides into any specified
number of drives.
Also includes code for
the New BB II monitor
(with all know bugs fixed)
Price: $129.95
SASI Interface for
BB I and Xerox 820 1
Includes pcb with components,
BIOS, Formatter, and Sysgen.
Winchester formatter
automatically assigns alternate
track(s) for track(s) with bad
sector(s). Using the Xebec
controller version F.
Price: $99.95
In North America contact:
Bob New
P.O. Box 62-0427
Woodside, CA 94062
(415) 851-7140
Rest of the world:
ANDY BARKERS
De Gervelink 12
7591 DT Denekamp
The Netherlands
(..31-5413-2488)
Please pay with US — S Money Order.
12
PROGRAMMERS
A LOW COST ALTERNATIVE
TO EPROM PROGRAMMING
Reads and programs 2716, 2732, 2764, and 27128 EPROMS.
Reads 2-16K ROMS.
Direct connect to any RS232C terminal or computer.
Plug selectable as either a data set or data terminal.
All voltages made on board, (no power supplies needed).
(User supplies power Xformer, 25.2 to 30 VAC C.T.I Amp.).
Power electronically switched, (can't damage EPROMS).
Zero insertion force socket for EPROM.
Programs, verifies, and dumps in both ASCII and hex.
Edit buffer (like DDT).
Saves hex and/or image files to and from disk.
Saves or loads all or partial buffer.
Completely menu driven for ease of operation.
Commands of Test, Read, Display, Save, Load, Program and more.
Check sum calculation.
All software on disk including well commented source code.
Detailed owners manual including schematic
All chips socketed.
Not a kit! Completely built and tested.
48 hour dynamic burn-in and test before shipment.
90 day limited warranty on parts and workmanship.
24 hour return policy on repairs.
Delivery from stock.
NOTICE TO PREVIOUS CUSTOMERS: Send us your old disk and a
suitable S.A.S.E. for your free copy of our new software, ver. 1.6.
PROGRAMMER 4+ WITH OWNERS MANUAL AND DISK. $199.95
Order from
pperipfico
of:
9W
■Q 1659 Scott Blvd., Suite 1
Santa Clara, CA 95050
(408) 244-5214
VISA and MASTERCARD telephone orders welcome.
Please specify Disk format
CP/M 8" IBM format, KAYPRO II, XEROX 820, OSBORNE I, others.
Please specify method of shipment, UPS or Postal Service.
California residents add 6% Sales Tax. Dealer Inquiries invited.
Micro Cornucopia, Number 20, October 1984
More I/O On the BBI
By Roger E. Nasiff
103 Highview Dr.
Syracuse NY 13209
The BBI uses a 74LS138 (U85) to select
one of eight I/O components. To add
eight more I/O components, a 74LS154
can replace the 74LS138 to select one of
16 components. If more that 16 I/O com-
ponents are needed, different address
lines can be used to activate other
74LS154 decoders. For brevity, this dis-
cussion will concentrate only on replac-
ing the '138 with a '154 to provide 16 I/O
selections.
Figure 1 - Current I/O Decoding
74LSI38 SOCKET
Vcc
+ 5
S10CE
BAUDS
I77ICS
>!2 SCROLL
2 CTCCE
Expansion Hardware
Figure 1 shows the current BBI I/O se-
lection hardware. In figure 2, you can see
the new I/O selection hardware sup-
ports eight more I/O components (la-
belled PIOl-4 and SIOl-2). To provide
the eight additional selections, I tied into
pin 3 of U70 (see pin 20 of the 74LS154 in
figure 2). To enable the 74LS154, 1 added
a 74LS02 quad NOR.
Constructing the I/O expansion
selector:
1 . Take U85 out of its socket.
2. Put the 74LS154 and the 74LS02 on
a small wire-wrap board along with an
IC socket for the interface cable to U85's
socket.
3. Build an IDC cable and plug one
end into U85 and one end into the IC
socket on the new board (to connect all of
U85's fines to the 74LS154/74LS02 cir-
cuit).
4. Plug a wire into pin 3 of U70 (to pick
up A5B) and connect the other end of the
wire into a socket hole on the little board
to go to pin 20 of the 74LS154.
Total construction and testing time
should take about an hour. I set up the
PIOs and SIOs the same way they were
originally connected in the BBI, so all of
the regular BBI software assignments are
the same, with the additional software
shown in the figure 3. Note that the BBI
decoding design was maintained.
As an application, assume that a PIO
was connected the same way as the GP-
PIO. The PIOl line would be used in-
stead of GPPIO line for CE of the new
PIO (pin 4 of the PIO), then ports 21 and
23 would be control and ports 20 and 22
would handle data.
Note that no interrupt capability has
been described for the additional I/O
components, but if Z80 peripherals (e.g.
PIOs and SIOs) are used, the usual IEI/
IEO/INT daisy chain connection tech-
nique can be used.
Figure 2 - Modified I/O Decoding
Figure 3 - New Port Addresses
74LSI38
74LSI54
E2
E3
E0
1
1
1
1
1
1
1
U85-I5 BAUD A (00 0000 DO)-
U85-
SIO CE (00 0001 DO)'
GP PIO (00 0010 DD)
BAUD B (00 001 I DD)
17 71 CS (00 0100 DD)
14
U85-I3
U85-I2
U85-II
U85-I0 SCROLL (00 0101 DD)-
U85- 9 CTC CE (00 0110 DD)
U85- 7 KBDPIO (00 111 DD)'
PIO I (00 1000 DD)
PIO 2 (00 1001 DD)
PIO 3 (00 1010 DD)
U85- 8
74LS02
I
U85- 6.E3 ["TrApp!
U85- 5,E2-
*
Port
I (LSB)
2
3
4
5
6
-Ol 7
8
9
10
GND
Decode Design
0= PORT A
SELECT I/O I = PORT B
PIOS: X . D D D D, D D
V^
U
1
SELECT IC 0=DATA
I -CONTROL
Vcc
A (A0)
B (A I)
C (A 2)
D (A3)
11
E0
15 f>
14
13 f>
12 p
I I
U85-I6
U85- I
U85-2
U85-3
• U70-3
•U85-4
(A2B)
(A3B)
(A4B)
(A5B)
(A7B)
SIO 2 (00 I I I I DD)
•SIO I (00 1110 DD)
• PIO 6 (00 I 101 DD)
•PI05 (00 I 100 DD)
-PI04 (00 1011 DD)
0: DATA
SELECT I/O I = CONTROL
4/ . * ■
SIOS: 0X V D D D Dy DD
SELECT IC 0s PORT A
IMPORT B
0-3 Channel A Baud Rate
4,5 SIO Data Chan A,B
6,7 SIO Cntl Chan A,B
8,9 GP PIO Port A Data, Cntl
A,B GP PIO Port B Data, Cntl
C-F Channel B Baud Rate
10,11 1771 Stat/Cmd Reg, Track Reg
12,13 1771 Sector Reg, Data Reg
14-17 CRT Scroll Reg
18-1B CTC Chan 0,1,2,3
1C,1D System Data, Cntl
1E,1F Keyboard Data, Cntl
20,21 PI01 Port A Data, Cntl
22,23 PI01 Port B Data, Cntl
24,25 PI02 Port A Data, Cntl
26,27 PI02 Port B Data, Cntl
28,29 PI03 Port A Data, Cntl
2A,2B PI03 Port B Data, Cntl
2C,2D PI04 Port A Data, Cntl
2E,2F PI04 Port B Data, Cntl
30,31 PI05 Port A Data, Cntl
32,33 PI05 Port B Data, Cntl
34,35 PI06 Port A Data, Cntl
36,37 PI06 Port B Data, Cntl
38,39 SI01 Port A Data, Cntl
3A,3B SI01 Port B Data, Cntl
3C,3D SI02 Port A Data, Cntl
3E,3F SI02 Port B Data, Cntl
Micro Cornucopia, Number 20, October 1984
13
Serial Printing On A BBI Sans SIO
By Richard H. Taylor
570 Glouchester St. Flat #3
Christchurch, New Zealand
JVlany printers require an RS-232 se-
rial interface, but many do not need the
hand-shaking that RS-232 provides.
These printers require only the data line
and a signal earth (ground for you Amer-
icans).
In cases where full RS-232 is not nec-
essary the use of a serial interface chip
(such as the Z80 SIO) is not warranted.
The printer can be driven by using just
one bit off a parallel interface chip (e.g.
the Z80 PIO) and some software (of
course).
A Bit of Time
The BBI has one bit of the system PIO
(bit 4 of port A) available for user defined
purposes. I brought out this bit to the
terminal strip TBI pin 8.
The software required to allow data to
be output serially on one bit of a PIO is
relatively straight forward.
Figure 1 shows the output waveform
for the ASCII character 'A (41H). In the
quiescent condition the output must be
held high. When a character is to be sent
to the printer the output must first be
held low for one bit-time, this is called a
start bit. The bit-time is very crucial to
the correct operation of serial transmis-
sion. If the bit-time is too long or too
short then the printer will get out of step
and print garbage. The length of the bit-
time is derived from the baud-rate of the
printer. In fact bit-time = l/(baud-rate)
seconds. So, for a 300 baud printer the
bit-time = 1/300 = 0.0033 seconds. 300
baud is very common for printers.
Editor's note: After the 8th bit has been
sent, the line must be held high for at least
one bit-time (one stop bit). This gives the
printer time to start looking for the next low
(the start bit). This type of communication is
called asynchronous because there is no set
time when the next character must start and
because there is no clock transmitted with the
data. (The only critical part is that the com-
puter must space the bits pretty close to how
the printer expects them to be spaced.)
Printer Pickup
There is a small amount of hardware
needed to connect up a printer. The RS-
232 standard requires voltage levels
(+12V to -12V) that are different from
the TTL levels (+4V to +0.7V) used by
the PIO. However, this interfacing prob-
lem is easily overcome. The required cir-
cuit is shown in Figure 2.
Figure 2 - RS-232 Interface
-I2V
GROUND
+5V
+ I2V
RESET
RESET
DISK
RELAY
USER
DEFINED
^
SIGNAL ,
O
GROUND 7 C
1
7 Il4
O
" T 3
<h
2
DATA I
3 '
RS232
CONNECTOR
14
38
You may need to make several chang-
es to PIOSER.ASM to suit your system
and printer.
1. PIOSER.ASM assumes a standard
60K CP/M with the BIOS starting at
EA00H. For other configurations alter
the assembly variable BIOS accordingly.
If you are using Digital Research's Big
board CP/M then BIOS = E800H.
2. If you are already using some of the
spare memory above PFM you may wish
to change the assembly variable DEST so
that the driver routine is copied to some
other location.
3. PIOSER.ASM assumes a 300 baud
printer and a CPU clock running at 3.5
MHz. For other baud rates or clock fre-
quencies alter the assembly variable
ONEBIT according to the formula given.
4. Some printers expect only 7 bits of
the character. This can be accommodat-
ed by changing the assembly variable
LNGTH from 8 to 7.
To use a printer connected to 'BIT 4'
run PIOSER.COM then type Control-P
or use PIP to send a file to the printer.
I have been using PIOSER for more
than 6 months now to run an ICL 7077
Termiprinter and have found it perfectly
satisfactory. It allowed me to use the
printer before I had installed the SIO op-
tion and now that I have the SIO it allows
me to use both SIO channels for periph-
erals that require full RS-232.
Figure J - ASCII Output For 'A '
DATA
OUTPUT:
10 1
in
STOP
BITS
41 H
0100 0001B
"A" ASCII
LSB *
HIGH
START
BIT
After the start bit, the data byte or
character itself is sent to the printer, one
bit at a time, beginning with the least sig-
nificant bit (LSB). After the 8th or most
significant bit (MSB) has been output,
the printer will store or print the charac-
ter.
The 1488 translates the TTL signals to
RS-232 levels. I have shown the data sig-
nal connected to both pins 2 and 3. This
is because of an idiosyncrasy in the
RS232 standard which means that your
printer may expect incoming data on ei-
ther pin 2 or 3.
PIOSER.ASM
The following program, called PIO-
SERial (PIOSER), re-initializes the PIO
to make BIT 4 an output, copies the driv-
er routine to high memory and patches
the driver routine address into the BIOS
jump table. The driver routine controls
BIT 4 of the PIO and transmits the char-
acter in the C register each time it is
called.
14
Micro Cornucopia, Number 20, October 1984
Listing for BBI PIO Serial Interface
PIOSER.ASM
PIOSER.Z80
SETUPS BIT 4 OF THE SYSTEM PIO AS AN ASYNCHRONOUS OUTPUT
RICHARD HUMPHREY-TAYLOR, CHRISTCHURCH, NEW ZEALAND
JUNE 1984
; SYSTEM PIO PORT
;PIO CONTROL PORT
PIO
EQU
1CH
PIOCTL
EQU
1DH
BIT4
EQU
4
LF
EQU
OAH
CR
EQU
r ODH
ONEBIT
EQU
0300H
; SOFTWARE DELAY VALUE FOR
;300 BAUD AT 3.5 MHZ CLC-tr
• FOR OTHER BAUD RATES OR CPU CLOCK RATES USE THE FOLLOWING
» FORMULA TO CALCULATE THE DELAY VALUE NEEDED:
* ONEBIT = CLOCK/(BAUD«15)
• WHERE :-
CLOCK IS THE CPU CLOCK RATE IN HERTZ
BAUD IS THE REQUIRED BAUD RATE
DEST
EQU
OF800H
BIOS
EQU
0EA00H
LNGTH
EQU
8
>
ORG
O1O0H
COPY:
LD
HL, PRNTST
LD
DE.DEST
LD
BC.FIN-PRNTST
LDIR
INIT:
LD
A.OCFH
OUT
(PIOCTL), A
LD
A.OOOOTGOOB
OUT
(PIOCTL), A
LD
A.40H
OUT
(PIOCTL), A
IN
A, (PIO)
SET
BIT4.A
OUT
(PIO), A
f
LD
BC.DEST
LD
(BI0S+2EH),BC
LD
BC.DEST+3
LD
(BIOS+10H),BC
t
RET
HERE
EQU
$
OFFSET
EQU
DEST-HERE
PRNTST:
LD
RET
A,1
PRNTER:
PUSH
HL
PUSH
DE
PUSH
AF
PUSH
BC
DI
LD
A,0
CALL
OUTBIT+OFFSET
CALL
BITDEL+OFFSET
LD
A,C
; DESTINATION ADDRESS OF PRINTER
; ROUTINE IN HIGH MEMORY
; START OF BIOS IN 6 OK SYSTEM
; NUMBER OF BITS TO BE SENT
; START OF ROUTINE
{DESTINATION
; LENGTH OF ROUTINE
;COPY ROUTINE
;PUT PIO IN BIT MODE
;ONLY BIT 3 IS AN INPUT
{DISABLE INTERRUPTS
;GET DATA BYTE
{MAKE BIT 4 HIGH
; ADJUST BIOS JUMP TABLE
; RETURN TO CP/M
; CURRENT ADDRESS
{CALCULATE OFFSET
; PRINTER READY
;SAVE ALL REGS
;STOP ANY INTERRUPTIONS
; START BIT
;GET CHARACTER
C0NT2:
CALL
OUTBYT+OFFSET
; OUTPUT BYTE IN A
LD
A,1
; OUTPUT STOP BITS
CALL
OUTBIT+OFFSET
CALL
BITDEL+OFFSET
CALL
BITDEL+OFFSET
EI
; TIMING PART IS OVER
POP BC
{RETRIEVE CHARACTER
LD
A,C
CP
LF
;IS IT LF ?
CALL
Z.LDELAY+OFFSET
{THEN WAIT FOR PAINTER
CP
CR
;IS IT CR ?
CALL
Z.LDELAY+OFFSET
{THEN WAIT FOR PRINTER
POP
AF
POP
DE
POP
HL
RET
OUTBYT:
LD
D, LNGTH
;BITS TO OUTPUT
RRC
A
;MOVE LSB TO BIT 4 POSITION
RRC
A
RRC
A
NEXT:
RRC
A
; SELECT NEXT BIT
LD
B,A
;SAVE CHAR
AND
OOO1O000B
;MASK ALL BUT BIT 4
LD
C,A
;SAVE IT
IN
A, (PIO)
;GET PIO BYTE
AND
11101111B
;SET BIT 4 TO ZERO
OR
C
{THEN SET IT ACCORDING TO C
OUT
(PIO), A
{THEN OUTPUT
CALL
BITDEL+OFFSET
{WAIT 1 BIT. TIME
DEC
D
JR
Z, CONT3
LD
A,B
;GET SHIFTED BYTE
JR
NEXT
;SEND NEXT BIT
CONT3:
RET
BITDEL:
LD
HL, ONEBIT
{DELAY 1 BIT TIME
DELAY:
DEC
L
JR
NZ, DELAY
DEC
H
JR
NZ, DELAY
RET
OUTBIT:
RRC
A
{OUTPUT LSB OF A
RRC
A
RRC
A
RRC
A
{ROTATE TO BIT 4 POSITION
LD
B,A
{SAVE IT
IN
A, (PIO)
{GET PIO BYTE
AND
11101111B
{SET BIT 4 TO ZERO
OR
B
{SET BIT 4 ACCORDING TO B
OUT
(PIO), A
RET
LDELAY:
LD
HL,OFFFFH
{LONG DELAY
JR
DELAY
FIN
t
EQU
END
$
{END OF ROUTINE
LISTING END
Micro Cornucopia, Number 20, October 1984
15
Parallel Printer Interface For SWP's Dual Density
By Terry Zbinden 9674 107th Ave. n
Maple Grove MN 55369
1 his article describes a customized
parallel printer handler for incorporation
into a BIOS, such as SWP's double-sid-
ed, double-density version. I have done
this with my BB-I, and it works very well
with my C. ITOH 8510 printer with par-
allel input. This printer can handle op-
tional character sets, fonts and even bit
mapped graphics.
The usefulness of this handler is to let
the printer do underlining, tab charac-
ters, elite, pica, compressed, and pro-
portional fonts. The font can be changed
anytime within a file, simply by storing
the correct sequences in the file.
Be sure to read the cautions below,
since there are cases which can give
some really weird printed matter.
An Improper Escape
This handler gives lots of advantages,
but it also has a couple of problems. If
you are printing a file which has caret in
it, the printer will get an escape character
and change modes according to the fol-
lowing character(s). This can cause mas-
sive underlining, Greek characters, dou-
ble width, or any combination of the
above. The solution is to use a word
processor to find and replace all single
carets with double carets before printing
the file.
In Wordstar, the sequence is "ctrl-
QA" and in response to FIND?, type a
Figure 1 - Control Code Table
caret, REPLACE WITH?, type two
carets, and for OPTIONS?, type "GN".
This can then be changed back just as
easily when the printing is complete. For
example, in Wordstar: "ctrl-QA" then
two carets, then caret, then for OP-
TIONS?, type "GN" again.
If you can dump the CRT to the print-
er, using the SWP screen dump or the
routine in Micro C #15, the above meth-
od of fixing the file will not give you for-
matting. You can not modify the CRT be-
fore dumping it so you'd need a BIOS
that doesn't have the special handler.
A Proper Escape
One problem was to get an ESC char-
acter to the printer, since the ESC is a
control character and can not be stored in
a text file. Even worse, Wordstar uses an
ESC as an error reset, so ESC never gets
outside the file.
To generate an ESC character, 1BH,
send a caret. To send a tab character,
09H, send a caret followed by a squiggle.
The characters used to denote the ESC
or HT can be changed, of course. To use
the tab with the C. ITOH, the tabs must
first be set, or the printer will ignore the
tab command. See figure 1 for the com-
mands.
Don't Get Serial
The printer handler (figure 4) is a sub-
routine to be included in the BIOS of CP/
M. As it is written, it can be included
with SWP's double density BIOS with-
out modification.
However, the SWP BIOS already has a
printer handler for both serial and paral-
lel printers so the serial part must be
completely removed, since there is not
enough room to hold both the changes to
the parallel part and the serial printer
handler. The pinout for the printer has
been left unchanged.
The operation is perhaps not as self
evident as one would like, so I have in-
cluded a flow chart for the program. See
figure 2 for the five basic parts.
Figure 3 contains a list of the connec-
tions to the printer from the BB-I.
tab
*Ln1n2n3... sets tabs at n1 , n2, n3, ...
sends a caret to the printer.
"E sets the printer to elite print.
*N sets the printer to pica print.
*Q sets the printer to compressed print.
*P sets the printer to proportional print.
*X starts underlining.
"Y stops underlining.
Figure 2 - Program Flow Chart
CENTR1: Initializes the BB-I general purpose PIO for
printer use.
CENTST: Tests the printer "busy" line and loops until
it is free.
CENTR2: Test for an ESC character.
ESCSEQ: Test for tab character.
SEND: Send the character to the printer. This includes the
proper pulsing of the READY line to the printer.
Figure 3 - Printer Cable Connections
CENTRONICS PIN
BIG BOARD PI]
1 (STB NOT)
34 (BPORT 4)
2 (DATA 1)
6 (APORT 0)
3 (DATA 2)
8 (APORT 1)
4 (DATA 3)
10 (APORT 2)
5 (DATA 4)
12 (APORT 3)
6 (DATA 5)
14 (APORT 4)
7 (DATA 6)
16 (APORT 5)
8 (DATA 7)
18 (APORT 6)
9 (DATA 8)
20 (APORT 7)
10 (ACK NOT)
26 (BPORT 0)
11 (BUSY)
28 (BPORT 1)
12 (PAPER EMPTY)
30 (BPORT 2)
32 (FAULT NOT)
32 (BPORT 3)
NOTE: The printer will run with only data,
stb not, ack not, and busy connected.
16
Micro Cornucopia, Number 20, October 1984
EPROM PROGRAMMER
interfaces to the BBI (XEROX 820) parallel port
Requires +5v. @ .3A, +25v. @ .1A, interface cable
1. Software and schematic
2. Bareboard and schematic
3. Software and bareboard
4. Software and kit (less ZIFs)
5. Software and full kit
6. Programmer A + T
S/H
Big Board II software and source
(uses BB II sockets for programming)
24.95
29.95
49.95
84.95
114.95
134.95
5.00
24.95
- Program, Verify, Load and check for Erased
Intel Eproms 2716, 2732(A), 2764, 27128
T.I. Eproms 2516, 2532, 2564
Xicor EEprom 281 6A
- Uses 16k bytes of system memory as a buffer.allowing you to
work with up to 8-2716 EPROMs at the same time
- Upload and Download Intel Hex Files
- Edit the data in the 16k byte memory buffer
- Define your own addresses for the memory buffer
- Complete screen error messages
- Software source included
- Menu driven
- Interfaces with most Z80 CP/M systems
SPECIFY 8" SSSD OR KAYPRO 5V4" SSDD
KAYPRO INTERFACE (USES PADS ON P.C.B.)
Utility Disk 1 includes
PEG - Universal Object File Translator. Formats supported
8 and 16 bit Intel hex BHLF COM
8 and 16 bit Motorola BPNF ASCII
Merge and split of 16 bit data also supported.
HEXED ■ A full screen hex file editor, allowing simultaneous edit of
both the hex and ascll representations of a file.
Full source and documentation on disk 24 95
WADE-I
Universal Interface Expander
Use the WADE-I U.I.E.for Intelligent Communications
Printer Buffer Parallel driven RAM disk
System multiplexer P/S to S/P converter
AND as a BIG BOARD I or XEROX 820 PORT EXPANDER
Power requirements +5 volts @3A, +/-12 volts @.1A
1. Bareboard 85.95
2. Printer buffer EPROM 14.00
3. Printer buffer source on 8" SSSD diskette 25.00
4. 4 MHz Kit (64k) with printer buffer EPROM 359.00
5. 4 MHz A + T (64k) with printer buffer EPROM 459.00
6. 64k byte bank of RAM (8-4164s 200nsec) 79.00
S/H 10.00
BIG BOARD I (XEROX 820) PORT EXPANDER
interfaces through the Z80 CPU socket and 1 jumper to con-
nect the 'IEO-IEI' daisy chain
adds 2-PIOs, SIO, CTC, and a DMA controller
FULL MODE 2 INTERRUPT OPERATION
Works with 2.5MHz and 4MHz systems
Complete documentation
STAND ALONE U.I.E.
256k bytes of RAM with DMA capability
4 fully buffered 8 bit parallel ports
4 Mhz - use Z80A parts and 200 nsec dynamic RAM
2.5 MHz - use Z80 parts and 250 nsec dynamic RAM
configurable EPROM socket (2716 thru 27256)
4 fully buffered 8 bit parallel ports
2 configurable RS232C serial ports
Complete documentation
all prices shown are in US funds
orders shipped within 10 days A.R.O.
Biegun & Associates
P.O. Box 4071, Stn "B" Winnipeg, Manitoba Canada R2W 5K8
CP/M is a trademark ol Digital Research. Inc.
Figure 4 - New Parallel Printer Code
PARALLEL. MAC
PI0CPA
EQU
09H
PI0CPB
EQU
0BH
PI0DPA
EQU
08H
PI0DPB
EQU
0AH
CENTR0N
.
JR
CENTR1
CENTR1 :
LD
A,00001111B
OUT
(PI0CPA),A
LD
A,11001111B
OUT
(PI0CPB),A
LD
A,00001111B
OUT
(PI0CPB),A
LD
A.01010000B
OUT
(PI0DPB),A
LD
A.CENTR2-CENTR1
LD
(CENTR0N+D.A
CENTR2:
C4LL
CENTST
JR
Z.CENTR2
LD
A, (EFLAG)
CP
i *i
LD
A,C
JR
Z, ESCSEQ
CP
i *i
JR
NZ.SEND
LD
(EFLAG), A
RET
ESCSEQ:
CP
1 •*!
JR
Z, CARROT
CP
i-t
JR
NZ.GENESC
LD
C.09H
JR
CARROT
; control port a on pio
; control port b on pio
;data port a on pio
;data port b on pio
; output mode on port a
;bit mode on port b
;bits 7..U outputs, bits 3-.0 inputs
; strobe bit negated
; patch entry point after initial call
;loop until able to accept print data
;see if last char was caret
;put char back in A
;if last was caret, gen ESCAPE
;is this char a caret
;if not, sent it
;if it is, store it in flag reg
;if last char was caret, and
;this is too, send caret
;is char a tab
;if not skip this
;if yes, send tab to printer
GENES C:
LD
A,01BH
CALL
SEND
CENTR3 :
CALL
CENTST
JR
Z.CENTR3
CARROT:
X0R
A
LD
(EFLAG), A
LD
A,C
SEND:
OUT
PI
(PI0DPA),A
IN
A,(PI0DPB)
RES
1,A
OUT
(PI0DPB),A
IF
SLOW
LD
B,40
ELSE
LD
B,66
END IF
DJNZ
$
SET
4, A
OUT
(PI0DPB),A
EI
RET
CENTST:
IN
A, (PI0DPB)
AND
00000010B
JR
Z, CENTS2
XOR
A
RET
ENTS2:
DEC
RET
A
EFLAG:
DEFB
;load A with the escape char
[send escape, then the next char
;wait after sending esc
; clear flag after sending escape
;put real character, into A
;send character to pio
; assert strobe line to Centronics
{generate a pulse for printer
; count less for 2.5mhz
; count more for H mhz
; pause approx 200 microseconds
; de-assert strobe
;read pio inputs from Centronics
jtest printer busy bit
;return with a=255 if printer ready
That's all there is to it.
Micro Cornucopia, Number 20, October 1984
17
Pascal Procedures
By John P. Jones
6245 Columbia Ave.
St. Louis MO 63139
314-645-1596
A friend who usually programs in
BASIC mentioned that one of his dislikes
about Pascal is the need "to put semico-
lons everywhere." Some interesting
points came up in the discussion that I'd
like to share.
The Semicolon
All high level programming languages
have their programs organized into a se-
quence of statements which are either
interpreted or compiled for execution.
Program source files are text files. This
gives four alternatives for delimiting
statements:
1. Fixed format lines (Ugh!).
2. An explicit continuation character.
3. An explicit separation character.
4. Some combination of 1, 2 and 3.
For whatever reason, the non-struc-
tured languages like Fortran and BASIC
use method 4 while the structured lan-
guages like PL/1, C and Pascal use meth-
od 3. Microsoft BASIC uses <CR> as
terminator, ':' as separator and <LF> as
continuation character. This may be
what was confusing my friend, the non-
visible terminator and continuation
characters.
Pascal, of course, uses the semicolon
as a statement separator. Except within
identifiers, whitespace (spaces, tab,
<CR>, <LF> ) are ignored by the com-
piler. The requirement for an explicit
separator character is a consequence of
this free form source capability.
C uses the semicolon as a statement
terminator while Pascal uses it as a state-
ment separator. In most cases, this dis-
tinction between termination and sepa-
ration is of little consequence but the
proper use of the semicolon is critical
within an IF-THEN-ELSE statement.
In an IF statement, a semicolon can
NEVER occur before the reserved word
ELSE since that would be a separator
within the statement. Be extremely care-
ful when nesting IF statements as it is
easy to get the ELSE clause linked with
the wrong IF. As a rule, an ELSE will be
compiled as part of the most recent IF
that has no ELSE. When in doubt, do not
hesitate to use a BEGIN-END block to
insure the statement is compiled correct-
A semicolon is not required following
a statement before an END, but if
present will represent a null or empty
statement. Empty statements are ig-
nored by the compiler.
Bug
My thanks go to Jay Sage, a reader
from Newton Centre, Mass., who sent
information about a bug in Turbo Pascal.
The built-in procedure STR is used to
convert numeric values into character
strings following the normal output for-
matting conventions used in the WRITE
statement. Figure 1 is a slightly modified
version of the example program he sent.
The program uses STR within a function
that returns an 80 character STRING.
When this function is called from within
a WRITE statement, the WRITE state-
ment terminates. A null WRITE state-,
ment within the function fixes the prob-
lem. Jay speculates, and I agree, that
STR and WRITE share code and the bug
occurs because the code is not reentrant.
A voice from the back of the room
says, "What did he say? Re-entrant . . .
what's that?"
Reentrancy
A routine is reentrant if it can be inter-
rupted by another process which in turn
Figure 1 - Turbo Pascal Bug Test
program bugtest;
type
string80 = string [80];
string20 = string [20];
var
in_value : integer;
function make_string (number, places : integer) : string80;
var
temp : string20;
begin
str (number: pi aces, temp);
makestring := ' is the number * + temp;
{ write; } { Inclusion of this null write fixes output }
end;
begin { bugtest }
clrscr;
repeat
write ('Enter number : *);
read (in_value);
writeln;
writeln (in_value, makestring (in_value, 4));
writeln;
until in_value =0;
end.
uses the interrupted routine. (Come on
now John, that doesn't help!) To use an
example, let's assume a Big Board I with
one channel of the CTC set up to gener-
ate a real time clock interrupt. Each sec-
ond, we want to update a clock display
in a corner of the screen. If the routine to
output a character to a specific screen lo-
cation is reentrant, it can be used to up-
date the time display even if the clock
interrupt occurs during execution of the
character output routine.
Reentrancy is of special value in inter-
rupt driven environments (interruptable
processes can share code) and multi-us-
er/multi-tasking systems (users/tasks
can share code). CP/M's BDOS is NOT
reentrant. This means that something
like an interrupt driven print spooler is
difficult to implement since the spooler
would normally use BDOS routines to
access the print file and printer.
Turbo Tips
Pascal compilers that generate native
code, like Turbo Pascal, Pascal MT/+
and Pascal/Z can be used for writing in-
terrupt service routines. It is especially
easy to write interrupt routines for Turbo
because the code it generates is fully in-
18
Micro Cornucopia, Number 20, October 1984
FLOWCHARTER
Figure 2 - Sample Interrupt Routine
{ This program demonstrates interrupt handling by Turbo Pascal }
program test_interrupt ;
const
kbd = $1e;
.{ BB I keyboard PIO address }
var
kbd_vector
vector_save
ch : char;
key_avail : boolean;
integer absolute $ff1a;
integer;
{ BB I keyboard vector address }
{ so we can exit gracefully }
{ will vector here on kbd ints }
procedure do_kbd_int;
begin
{ Pascal interrupt procedures MUST preserve all
registers used so PUSH them all. If floating point .
were used, would also need to use alternate registers
inline ($f5/ { PUSH AF }
$c5/ { PUSH BC }
$d5/ { PUSH DE }
$e5/ { PUSH HL }
$dd/ $e5/ { PUSH IX }
$fd/ $e5); { PUSH IY }
key_avail :r true;
inline ($fd/ $e1/
$dd/ $e1/
$e1/
$d1/
$d/
$f1/
$fb/
$ed/ $4d);
{ since Turbo I/O routines are not reentrant,
we will just set a flag to let the main program
know an interrupt has occurred rather than
displaying the keystroke here. }
{ restore registers pushed above }
{ EI since interrupts disabled on entry }
{ RETI }
end;
begin
vector_save := kbd_vector;
kbd_vector := addr(do_kbd_int);
key_avail := false;
repeat
if key_avail then begin
ch := chr(not(port[kbd]));
write (ch);
key_avail := false;
end;
until ch = *[;
kbd_vector := vector_save;
end.
terruptable. Since the code is not reen-
trant, you must compile the procedure in
absolute (non-recursive) mode and the
routine must preserve all CPU registers.
Figure 2 is an example of a program
that uses an interrupt routine written in
Pascal. Although the example is trivial, it
could be used in an application such as a
game that requires real time keyboard
input. A game running on the Micro-
sphere color graphics card could be set
up in an infinite loop which updates the
display and moves sprites with the inter-
{ save current kbd interrupt vector }
{ replace with address of our routine }
t initialize flag }
{ if had interrupt, will be true }
{ read port, inverted input}
{ display the keystroke }
{ clear interrupt flag }
{ exit if ESC pressed }
{ back to normal operation }
nal flow controlled by real time keyboard
input.
Error Department
I made an error in transcribing the pro-
gram fragment in figure 2 of issue 19's
column. The last line of that figure
should read:
loadbinary (fname, routines[0], (size div
128) + 1);
ttttttttttttttt
* *
t END OVERNIGHT *
ttttttttttttttt
ttttttttttttttt
t t
* START ON-LINE t
t t
ttttttttttttttt
tttttttttttttttt
* *
BRANCH SIGN-ON
t *
tttttttttttttttt
ttttttttttttttttt
t *
t DAILY REPORT *
* PRODUCTION *
* .»**»
.t
. .*
* NO
tttttttttttttt***
t t
tPRODUCE WEEKLY t
REPORTS t
.tttt
.t'
tttt"
->t
ttttttttttttttttt
t t
tPRODUCE MONTHLYt
>t REPORTS t
t .tttt
ttttttttttttttttt
t t
tPRODUCE ANNUAL t
>t REPORTS *
t .tttt
.<
ttttt
t t
t TL t
t t
ttttt
EasyFlow is a program which helps you to
produce neat, accurate flowcharts. You des-
cribe the flowchart using a simple flowchart
description language; EasyFlow then pro-
duces a complete flowchart. EasyFlow is
excellent for describing procedures of all
kinds - not just for programming.
• Fast: 12 seconds for a typical chart.
• Command language easy to learn.
• Easily adapts to all printers.
• Standard flowcharting shapes included.
• User defined shapes easily added.
• User selected line drawing characters.
• Charts up to 5 by 11 shapes in size.
• Explicit, meaningful error messages.
• Fully documented with many examples.
• Ten demonstration flowcharts included.
• Special printer drivers included for MX80
and u92 that produce small flowcharts
directly on 8.5 x 11 inch paper.
$49.95 ($59.95 in Canada + 7% PST in Ontario)
Runs on Z80 CPM 2.2 machines with 38K TPA.
Available on SSSD 8" and Kaypro 5" disks.
Other 5" formats: call.
Available by check, money order or Visa:
HavenTree Software Limited
R.R. #1,
Seeley's Bay, Ontario,
Canada, KOH 2N0
(613) 542-7270
Micro Cornucopia, Number 20, October 1984
19
Extended 8" Single Density
By Larry J. Blunk
2972Briarcliff
Ann Arbor MI 48105
313-663-6171
Extended single density is the name I
have given to the 8 inch format I am us-
ing. Extended single density formats 8
inch diskettes with nine 512-byte sectors
per track (the system tracks, however,
are standard 128-byte sectors). This
gives me a total of 334K per diskette (vrs
241K). It also improves disk I/O speed
quite a bit.
History
My inspiration for this format was an
article by Robert Lurie in the October
1983 issue of Microsystems. Lurie used a
little known secret of the 1771 disk con-
troller chip. The 1771 is able to read and
write sector sizes which are multiples of
16, as well as the standard 128, 256, 512,
and 1024 sizes.
Taking advantage of this, Lurie used
two 2432-byte sectors per non-system
track. He formatted the system tracks
with 29 128-byte sectors so that the
standard boot routine would work but
there would be extra space for the larger
CBIOS needed to block and deblock the
2432-byte sectors. This setup yielded
354K per disk.
I decided against Mr. Lurie's setup be-
cause there was really no place to store
such a large sector size (without lower-
ing the TPA or using bank-switched
RAM). Also, the blocking/deblocking
routines supplied by Digital Research
with CP/M will only work with sectors
which are a power of two (i.e. 256, 512,
1024, etc.). However, I decided to keep
Lurie's format of 29 128-byte sectors on
the system tracks.
Figure 1 - Modifying SYSGEN
A>ddt syagen.com
DDT VERS 2.2
NEXT PC
0500 0100
-3129
0129 U 1d
012A 01 .
-3144
0144 00 1b
0145 00 1c
0146 00 1d
0147 00 .
-gO
A>save 4 sysgen29.com
Patch Work
In order to make SYSGEN work with
29 sector tracks, you have to make a few
patches with DDT. Lurie describes them
in his article (figure 1).
Now, when you want to sysgen an ex-
tended single density disk, use sys-
gen29.
Formatting
To format a disk, use EXTFORMT.
This formatter was derived from FOR-
MATS, but formats the disk with 29 128-
byte sectors on tracks and 1, while
tracks 2 through 76 are formatted with
nine 512-byte sectors.
Incorporating the CBIOS
There are two versions of the CBIOS.
One is for those who use CP/M as dis-
tributed by Digital Research Computers
with a CBIOS which ORG's at E800H.
The other is for those with a standard
60K CP/M and a CBIOS ORGing at
EA00H. Both of these use storage above
Figure 2 - Incorporating a New CBIOS
A>extformt
(respond with B and then after
the disk in drive B has been
formatting type *C to exit.)
Now use the appropriate column.
E800 CBIOS EA00 CBIOS
the monitor. For the E800H-CBIOS,
storage starts at FC80H, while the
EA00H-CBIOS uses memory at FB00H
and above. Make sure that any programs
you run do not use these locations.
Below, is an example of how to incor-
porate the CBIOS into CP/M. You
should have a disk with EXTFORMT,
E8XTBOOT or EAXTBOOT, E8XTBIOS
or EAXTBIOS, CPM60, SYSGEN29, and
DDT in drive A, and a blank disk in drive
B. Figure 2 describes what the session
should look like.
Now you are ready to test the new for-
mat. Switch the disks and hit the reset
button. When you boot, you should get
the signon message telling of your new
ability to support 334K diskettes. You
can use STAT or D to verify this.
EXTFORMT, E8XTBOOT, E8XTBIOS,
EAXTBOOT, and EAXTBIOS are avail-
able on Micro C user disk B28.
A>ddt cpm60.com
DDT VERS 2.2
NEXT PC
2300 0100
-ie8xtboot.hex
-r880
NEXT PC
2300 0000
-ie8xtbio3. hex
-r3780
NEXT PC
2547 0000
(note: should not be
greater than 2600)
-gO
A>ddt cpm60.com
DDT VERS 2.2
NEXT PC
2300 0100
-ieaxt boot. hex
-r880
NEXT PC
2300 0000
-ieaxtbios.hex
-r3580
NEXT PC
2543 0000
(note: should not be
greater than 2580)
-gO
« Reconverge here »
A>sysgen29
SYSGEN VER 2.0
SOURCE DRIVE NAME (OR RETURN TO SKIP) <cr>
DESTINATION DRIVE NAME (OR RETURN TO REBOOT)
FUNCTION COMPLETE
DESTINATION DRIVE NAME (OR RETURN TO REBOOT)
A>
<cr>
20
Micro Cornucopia, Number 20, October 1984
ttT****,
WHAT IF
THE TORTOISE COULD
ALWAYS BEAT THE HARE ?
^fe<!!
ELECTRONIC RAM DISK
Tired of spending so much of your computer time waiting for
programs to load, compile, recalc or sort? Check these time
comparisons!!! Now a lowly Kaypro II or 4 running at 2.5mhz
(alias Tortoise) can even out run a 4 mhz Kaypro 10 with
Winchester Hard Disk (alias Hare).
*Benchmark test data (see below)
You'll find SUPERSPEED for all disk access
action with this multiprocessing Electronic
RAM Disk. Comes with memory space
user selectable from 256K to 1 mb; has
dual Centronics connectors; optional
external power supply design. This RAM
disk can be configured as drive A or D; runs
at 6mhz; operates as printer buffer while
simultaneously storing and retrieving data to
the RAM. This add-on will be a real time
saving asset to your Kaypro 2, 4, 2-84, 4-84
Socketed without RAM chips $199.00
Assembled & Tested 256K, 5 12K, lmb
$CALL for current price 3
US Add $5.00 shipping P
International Add $15 shipping
TLC® LOGO is also available for all Kaypros with internal graphics
(2-84, 4-84, 10). No modifications required. This
Standard Version uses the internal screen, has
16,000 pixel resolution, multiple turtles, multi-
processing, vectors and many LISP commands . . . $99.95
COMPOSITE VIDEO GENERATOR — Allows connection of a
Standard Composite Monitor. An absolute necessity for those who
need a larger screen or bigger characters.
Kaypro II, 4 — $59.95
§g^ Kaypro 2-84, 4-84, 10 — $89.95*
|t *Includes a new character set which
' * generates a character cell size readable by a
if standard composite monitor. All graphics included.
COLOR GRAPHICS SYSTEM FOR KAYPRO
COLOR BOARD — for Kaypro II, 4, 2-84, 4-84, 10
& Robie. 256x192 Pixel resolution, 16 colors, 32
sprites. Software includes three editors, drivers, screen
dump to printer and disk, six-month subcription to
| Micro Cornucopia. Generates standard composite
I color. RF modulator is required for color TV
1 operation. Plug in installation . . .$245.00
Time in Seconds
2.5 MHi
Kaypro
4 MHz Kaypro
4 MHz Kaypro 10
Floppy Disk
Ram Disk
Floppy Disk
Ram Disk
Winchester Hard Disk
Load
Perfect Writer
8.37
Z.46
7.64
1.76
6.57
Load
Perfect Calc
10.35
3.16
9.44
1.87
7.19
Load
Perfect Calc + MKFilc
12:04.01
3:33.26
10.48.00
1:51.08
6:20.37
Recalc 14K PC File
10:19.00
2:27.36
9.31.25
1:17.78
5:30.53
Page down
PC File
25.24
8.01
22.49
4.32
17.55
Load
LADDER.COM
10.90
3.31
9.38
2.12
6.60
WARM BOOT
2.82
.64
2.22
.46
2.69
Load
M BASIC
5.79
1.64
5.43
1.12
2.55
COLOR BOARD SOFTWARE — TLC LOGO
featuring multiple turtles, multiprocessing mode, fast,
easy to use and easy to learn. This is the graphics
language the schools rave about. There are many facets
w T a -'^,:./ ' to TLC LOGO including LISP commands ^$_129.95^
SPECIAL!! Color Board and Deluxe Version of LOGO . . . $299.95
. INSTANT GRAPHER 2.0: allows bar charts, stacked bar charts and
line graphs. Accepts up to 24x24 arrays or 180 points per plot. Reads
numbers directly from Perfect Calc, CalcStar or other standard disk print
files. Screen dump to printer program on color board disk also works
. . . $50.00
SUPPLY STORE SPECIALS:
ECHO LIFETIME WARRANTY DISKETTES
10 Echo Disks w/Box
10 Echo Disks w/Box
Microsphere
As you can easily see even a 2.5 mhz Kaypro with RAM disk is faster
than a Kaypro 10 using a hard disk. A 4 mhz Kaypro with RAM disk
is significantly faster.
v.j>c.y
SSDD $20.00/box
DSDD $24.00/box
SPECIAL SALE!!!!!
100 GENERIC DISKS DSDD
$150.00/100 w/sleeves
1NFOCOM ADVENTURE GAMES
(Kaypro format)
ZORK I, ZORK II, or ZORK HI
$45.00 «
STAR CROSS $45.00 1
SEASTALKER (beginner ages 9 &. up)
$45.00 <
DEADLINE $55.00 <
SUSPENDED $55.00 «
WITNESS $55.00 <
PLANETFALL $55.00 «
Microsphere, Inc.
PO Box 1221
Bend, Oregon 97709
503-388-1194
9-5 Pacific Time
Dealer inquiries invited
Kaypro is a registered trademark of the Kaypro Corporation
-rt ™* , a^a : „i„„,„^ .^^I»«.,rU „f I KP C'nmnanv.
SBASIC Column
By Jack Rodenhi
1317 W. College Ave.
Lompoc CA 93436
Okay, so where did we leave off on
the last issue? It had something to do
with problems I had with disk-file ac-
cess. This topic is important because
many programs require that data be
stored away and retrieved at some later
time.
Disk-file Access
My early attempts in SBASIC led me
to certain conclusions. I decided that I
should impose a structure on disk files.
To simplify disk record handling prob-
lems, the records should be handled as
strings. This means that when a record is
written to disk, it should be one string
and no longer than 255 bytes. The first
byte of the record should be reserved for
record status (deleted, last record, etc.).
Snail Sort
I came up with a novel approach to
sorting a disk file. I had been thinking
about this problem for some time and the
idea came to me as I was working out in
the garden. I called my idea the snail sort
because of the way the program attaches
itself to a disk.
Basically, the program will work like
this. Read as many records into memory
as will fit (let's say 250). Put them in or-
der in memory somehow. Output the
smallest record. Read the next record in-
to memory and again output the smallest
record in memory to disk. Continue to
do this until you reach the end of the
disk.
Notice that at this point, the highest
250 records are in the computer. Write
those out to the disk in order and the top
(highest value) part of the file is sorted.
Now go back to the beginning of the
file and do this again. Only this time you
can stop short of the end of the file by 250
records. If the file has 1000 records in it, it
will take four such passes to put the file
entirely in order.
That sounds okay but think about how
the computer will sound for a moment. It
will write a record, read a record, merge,
write a record, read a record, merge and
so on, all the while its little head going
ka-chunk, ka-chunk (not the fastest sort
of thing to do).
How about if we write out the smallest
125 records in memory and read in 125
new ones. The ka-chunk, ka-chunk goes
away and the head feels better. As an
added bonus, the records are now writ-
ten to the disk in runs of 125 records each
and the runs are in order. We can make
use of that idea if we can somehow
merge these with the records in memory
instead of sorting them by brute force.
Top-Down
Now we take this idea and attempt to
transform snail sort into a real program
using what is called "Top down" pro-
gramming. Near as I can tell, this kind of
programming doesn't have anything to
do with convertibles on sunny days. I
think the idea is a little closer to what
Philippe Kahn talked about at the SOG.
Philippe said the ideal programming
language is one that requires you only to
sit down at the keyboard and type in
"ACCOUNTING PACKAGE" and the
language would take it from there.
Well, that's like top down program-
ming only your head is the "ideal pro-
gramming language." You set your idea
up in outline form in phrases like 'Input
125 records' and 'Sort on part number.'
Then, you have to be understanding and
realize that your computer won't know
what you're talking about (after all this
time you'd think it would begin to catch
on).
So you provide a little more detail like
'Open inventory file,' 'While not end of
file' and so on.
These intermediate instructions are
written in something called "pseudo-
code." But your computer still won't un-
derstand pseudocode, so you do the
small amount of remaining translation to
put the program into a language that
your computer will understand. Howev-
er, you've already discovered what you
want the computer to do.
Super Snail Sort
So here's an outline (Figure 2) of what
the Super Snail Sort will do. Notice that
the words 'up to' are used to allow for an
end of file condition.
The program included in this column
(Figure 1) is not a sort routine. It is a lin-
ear search routine. Notice that the rec-
ords will be read into an array called 'list'
and that they will not change places dur-
ing the process. The records will be or-
dered by the array 'next.'
A one-byte value in 'smallest' will
point to the smallest value in the array
'list' and the corresponding value of
'next' will point to the next value in the
list. From there, each item is found se-
quentially because it appears in the
'next' array for the previous item. This is
known as a linked list. In pseudocode,
the program might be written like Figure
3.
In the actual program, the coding be-
comes more involved, but you can see
how the program evolved from the
pseudocode.
SBASIC Tutorial
I had a chance to review the SBASIC
Tutorial sold by Sven Erlandsson. In
some ways, this book is a better version
of the manual that came with SBASIC.
At the very least, it is good to have an
extra manual on the language. Be aware
that it is a manual though and not really a
tutorial.
One of the mistakes the author makes
in the book is to make frequent compari-
sons to MBASIC. As an aid to under-
standing, it was good in the first chapter
to contrast MBASIC and SBASIC but it
should have stopped there. Other than
that, the book seemed okay, not great,
but okay.
Unfortunately, the author has appar-
ently written a large involved program
dealing with steam tables and chose to
include parts of this program as material
illustrating some of the more advanced
topics of the book. I had to learn what
enthalpy meant before I could finish that
section.
22
Micro Cornucopia, Number 20, October 1984
Figure 1 - SB ASIC Search Routine
Figure 2 - Pseudo code Version of SOR T
$lines
control. c. trap off
$constant top = 250
dim integer list (top)
dim byte next_ptr(top)
var smallest, current,
last_one, last_item= byte
REM« a Here is the actual ordering algorithm 11 **
procedure order (new_item= byte)
procedure search_and_insert
while list(new_item) > list (current) do begin
last_one = current
current = next_ptr( current)
end
next_ptr(new_item) = next_ptr(last_one)
next_ptr(last_one) = new_item
la3t_item = new_item
end
Comment
Compare this part of the program with the pseudocode version.
Notice that the procedure search_and_insert had to be developed
for one word of pseudocode.
End
if list(new_item) < list(last_item) then begin
if list(new_item) <= list(smallest) then begin
next_ptr(new_item) = smallest
smallest = new_item
end else begin
current = next_ptr(smallest)
Comment
When we find an element that is larger than the new
element, we will:
1. Change the "next_ptr" array for the last element we just
looked at to point to our new element.
2. Change the n next_ptr n array for the new element to point
to the larger element we just found.
To do item #1, we need to know what the last element was so
that we can pass this information on to our search_and_insert
procedure. So each time we move on to a new item, we set
"last_one n to be equal to the item we just left.
End
last_one = smallest
search_and_insert
end
end else begin
current = next_ptr(last_item)
last_one = last_item
search_and_insert
end
end
REM*** The ordering procedure end3 here and a demonstration program begins.
var i,current_item,next_item= integer
smallest =
list (small est) = 9999
last_item = smallest
for i = 1 to top
list(i) = intdOOO • rnd(D)
print list(i)
order i
next i
print
print "Now in order"
print "Item no. Item Next item"
print
current = smallest
for i = 1 to top
current_item = current
next_item = next_ptr( current)
print current_item, list ( current ) , next_item
current = next_ptr( current)
next i
Micro Cornucopia, Number 20, October 1984
Repeat
Read in up to 250 records
put them in order
repeat
write out up to 125 records
read in up to 125 records where those came out
put the new records in order
until all the unsorted masses have passed through
write out all the records
decrease the unsorted masses by 125
until the unsorted masses =
Figure 3 - More Pseudocode
if the new item is smaller than the last item then
start at the smallest item in the list
else start where the last item was put in
search for the new item's place and insert it
Jc\
CHECK OUT THESE PRICES!!
ACCESSORIES
FOR YOUR COMPUTER
DISK STORAGE BOX — Holds 50
-5 1 /4" disks. Plastic with Smoke self-
lock, see-thru cover. — $15.95 ppd.
PRINTER STAND — Metal, putty
color. For 80 col. printers —
$18.95 ppd.
PROGRAMS FOR YOUR KAYPRO
K-CALENDAR — This neat little
program prints a calendar for ANY
year or ANY month — $9.95 ppd.
K-CATALOG — This program or-
ganizes your disk files, prints labels,
etc. Identify immediately which flop-
py contains your program. —
$19.95 ppd.
K-MODEM — This program trans-
fers ASCII orbinary files. Selectable
parity, stop bits, etc. Easily worth
three times its price. — $29.95 ppd.
THE FINE PRINT — KAYPRO™ Kaypro
Corp. PA Res. add 6% Tax. — We ship
within 3 days for Visa, M/C or Money
Order. — Allow 2 weeks for Personal
Checks.
I KOMPUTERWERK
jlf 851 Parkview Blvd.
IP l Pittsburgh. PA 15215
1 (412)782-0384
23
MAXIMIZE YOUR KAYPRO-FORMANCE
EXTERNAL MONITOR ADAPTOR
for all Kaypro Computers
The External Monitor Adaptor (EMA) provides the
ability for the Kaypro to drive an external video
monitor. Original characters and video display remain
unchanged. In addition, the Kaypro monitor remains
operative. Simple plug-in installation. Complete
illustrated instructions are included.
EMA Kaypro II & 4 $ 69.95
Green Monitor $149.95
Amber Monitor $159.95
EMA Kaypro 284. 2X,
4*84, 4X & Roble * $ 99.95
EMA Kaypro 10 & 12X * $109.95
Green Monitor * $159.95
Amber Monitor * $169.95
* Please Note: For all models except the original II
and 4 the specially modified monitor listed above
must be used.
12ft KEYBOARD CABLE
for all Kaypro Computers
Designed to replace the original 6ft cable. Not just
a telephone cord, it is designed to meet the exact
requirements of the Kaypro. Guaranteed to work.
12ft Keyboard Cable $ 12.95
ANTI-GLARE SCREEN
for all Kaypro Computers
Increases contrast and reduces glare. Made from
scratch resistant polycarbonate and contoured to fit
exactly, it offers an undistorted view of the entire
CRT. Attaches directly to the CRT and requires no
disassembly. Please specify Smoke or Green when
ordering.
Anti-Glare Screen $ 24.95
KAYPRO COVERS
for all models except the Roble
Made from durable weather resistant Sunbrella.
Unpadded and open at the bottom, it includes two
pockets for carrying your manuals, diskettes, etc.
The Kaypro handle is used to carry the computer.
Please specify Black or Navy when ordering.
Kaypro Cover $ 34.95
PRINTER CARRYING CASES
Make your printer as portable as your computer.
Has an inside and outside pocket to carry paper and
other accessories. Carrying straps loop under the
printer providing full support. Unpadded, these cases
are made from durable Sunbrella. Available in Black
or Navy. Specify printer make and model and color
desired when ordering. Available for:
Silver Reed 550 • Okidata 92 & 93
Epson FX-80. MX-80. RX-80. RX-100. MX-100
Comrex I & III • Prowriter 8510A • Brother HR15
Printer Carrying Case $ 42.95
PRINTER ft MODEM CABLES
These high quality cables are designed to work
with your particular printer or modem and Kaypro.
No additional jumpers or modifications are required.
Specify make and model of printer and Kaypro model
when ordering.
RS-232 Serial: 6ft- $17.95 12ft -$22.95
Centronics Parallel: 6ft-$Z4.95 10ft-$28.95
Modem Cable: 2ft- $19.95 4ft $22.95
Kaypro is a registered trademark of Kaypro Corporation.
MSDOS is a registered trademark of Microsoft. PCDOS
is a registered trademark of IBM Corporation. TRSDOS
is a registered trademark of Tandy Corporation. CP/
is a registered trademark of Digital Research. KGraph.
KBoard. KBrief and Media Master are registered trade-
marks of DG Systems.
5 MHz TURBOBOARD
for the Kaypro II & 4
Allows your Kaypro II or4 to compute at twice the
standard speed. Word processors, spread sheet
programs, etc will run much faster. The speed
(2.5 MHz or 5 MHz) is switch selectable and can be
changed at any time without affecting the operation
of the computer. Installation requires only minimal
technical ability and no soldering is required.
Complete illustrated instructions are included.
TurboBoard $ 99.95
*** Coming Soon ***
TURBO/8
An 8 MHz TurboBoard for all Kaypro models. The
Turbo/8 will have all of the same features as our
popular 5 MHz TurboBoard.
....call for information
ProGRAPHICS PUTS THE PRO
IN YOUR KAYPRO II or 4
ProGRAPHICS gives your Kaypro II or 4 the
ultimate in video display as well as graphics capability.
Video attributes include half intensity, reverse video
or a combination of the two. Emulates the popular
Televideo 925/950 terminal while retaining full
compatibility with existing software. Simple plug-in
installation. Includes: 25 x 80 character display,
non-scrolling 25th status line, both block (160 x 50
resolution) and thin line graphics and a real software
selectable cursor. An overlay program is included
which allows Wordstar to use the new video
attributes.
Plus: Fully compatible with our 5MHz TurboBoard,
Plu*Perfecfs CP/M 2.2E. SWPs C0-P0WER-88 and
Micro Cornucopia's Pro-8 ROM.
ProGRAPHICS SYSTEMS $299.00
USER-PROVEN SOFTWARE
UNIFORM
for all models except the Robie
Allows your Kaypro to read and write up to 55
different computer formats (depending on Kaypro
model) including CP/M-80. CP/M-86, MSDOS.
PCDOS, CDOS. LDOS. and TRSDOS. Please specify
Kaypro model when ordering.
Uniform $ 69.95
MEDIA MASTER
for Kaypro II
Allows you to read and write up to 25 different
formats.
Media Master $ 29.95
REPORTMAKER
for the Kaypro II & 4
An easy to use program that allows you to produce
bar charts, pie charts and create your own headings,
logos and designs. Works with WordStar.
Report Maker $130.00
SMARTKEYII
for all Kaypro models
Allows you to assign character strings or com-
mands to any key on your keyboard. Tremendous
time saver.
SmartKey II $ 89.95
CHECKS & BALANCES
for all Kaypro models
Complete personal checking program or business
register. An excellent money manager.
Checks & Balances $ 54.95
REMBRANDT
for Kaypro 284. 2X, 4'84. 4X, 10. 12X & Robie
Easy to use software that allows to take full
advantage of your Kaypro graphics. Includes:
KGRAPH - business graphics including bar charts,
pie charts and x-y plots.
KBOARD - complete graphics editor allows you
to produce your own headings, logos, etc.
KBRIEF - produces electronic slide show
presentations.
All programs are simple to use. menu driven and
require no knowledge of computer programming.
Works with most DOT matrix printers.
Rembrandt:
Special Introductory Price $ 69.95
After October 31st $ 79.95
Demo diskette:
Refundable With Purchase $ 5.00
PLU* PERFECT
for all Kaypro models
Inexpensive software packages to dramatically
increase the power and capability of your Kaypro.
CP/M 2.2E
Enhanced CP/M $ 32.00
The Backgrounder (requires CP/M 2.2E)
Keyboard Definition Program $ 45.00
Plu*Perfect Writer (comes with CP/M 2.2E)
Perfect Writer Enhancement $ 39.00
ENGINEERING SOFTWARE
CIVILSOFT
for all Kaypro models
Powerful, easy to use engineering software. Over
20 programs available including structural analysis,
surveying, hydraulics, and more.
....call for details and pricing
BV ENGINEERING
for all Kaypro models
ACNAP
General Purpose Circuit Analysis Program . . $ 49.95
SPP
General Purpose Signal Processing
Program $ 59.95
PLOTPRO
Set of four linked Microsoft Basic programs which
plot scientific graphs on any 80 or 132 column
printer $ 49.95
REAP
Real Estate Investment Analysis
Program $ 59.95
CALL TODAY
National (800) 821-8778
California (800) 521-7182
DEALER INQUIRIES WELCOME.
All items are warranteed for 90 days. 30 day money back
guarantee if not completely satisfied. Visa and MasterCard
are welcome. Please add $1.50 for COD. UPS surface freight
paid on all orders. California residents please add 6% sales tax.
f /l aduenb
r 1 1 products inc.
3154-F East La Palma Avenue
Anaheim, California 92806
(714)666-0130
24
Micro Cornucopia, Number 20, October 1984
HIGH PERFORMANCE VIDEO
MONITOR
BALL BCX-200 HP Monitor
12", P31 Green, Non Composite, Separate Sync Re-
quired, 27 MHz Video Bandwidth, 12 VDC @ 1.5 A.
• Vertical Sync: 47-82 Hz
• Horizontal Sync (Jumper Selectable):
• PERFECT FOR BIG BOARD II
WHEN USING 9x11 CHARACTER SET
NEW with schematic shipping weight 10 lbs
MONITOR ONLY $62.50
PLASTIC ENCLOSURE
as pictured above. Size 17x14x12". Room inside for
mounting above monitor, power supply, & S.B.C.
• PERFECT FIT FOR XEROX 820-1 BOARD!
NEW, SHIPPING WEIGHT 12 LBS
ENCLOSURE ONLY .$40.00
KEYBOARD & ENCLOSURE
80-key X-Y scanned microprocessor controlled ASC II
encoder kit. ROM source code supplied. 17x8.5x3".
New, with schematics, weight 8 lbs
KEYBOARD, ENCODER KIT, ENCLOSURE $60.00
Regulated power supply; 6 outputs: 5v @ 4 A, +/- 12 v
@0.2A, +24v@1.2A, -24v @ 0.2A, +15v-@ 2.6 A.
14x4x3", 10 lbs, New.
REGULATED POWER SUPPLY $35.00
ARKON ENGINEERING
PO Box 60, Rome NY 13440
(315) 336-4381 or (339-2232 evenings)
TERMS: Prepaid or UPS COD (CASH OR CERTIFIED
CHECKS ONLY.)
Are you signing your name with an X
because spelling doesn't come easily?
Then you need SpellSys!
With this full-feature package, you can
write prose with the pros. SpellSys fea-
tures a 42,000 word dictionary and all
the bells and whistles of those expensive
checkers— including rhyming, crossword
search, letter unscrambling, etc.
SpellSys is made up of a group of indiv-
idual programs which you can use toge-
ther or separately. With SpellSys you can
setup and maintain your own custom
dictionary (in addition to the main dic-
tionary). These are real dictionaries, not
hash tables, so you edit or remove words
from your own dictionary at will.
IT'S EASY TO USE!
Just enter "SPELLSYS", select which
disks you'll use, and file you're checking.
Then SpellSys takes over. Everything is
self-prompting— so sit back and relax.
pellSys
Word Review Operations
C .
. show Context in file
L .
. Lookup word in dictionary
M .
. Misspelled (correct file to )
D .
. put in user Dictionary
1 .
. Ignore
N .
. Next word
P .
. Previous word
E .
. Exit review
?
. (or any other key) displays menu
ORDER AT NO RISK!
Check out the manual and if you don't
agree that SpellSys is a super bargain,
just return the package with the disk un-
opened within 30 days and we'll refund
your money.
SPELLSYS $29.95 ppd. in US & Can
Other Foreign add $5.00
Requires 32K CP/M*
Formats: 8" SS SD or
5" SS DD for KayPro, Xerox,
Osborne, Morrow, Superbrain.
•CP/M is a trademark of Digital Research
P.O. Box 65 Bend, OR 97709
MC (503) 382-8048 Visa
Enhance Your KAYPRO
CP/M2.2E
Enhancements for the CP/M operating system
• FASTCOPY. Much faster copy and format operation
for single and double-sided disks.
• PUBLIC FILES. Access one copy of your program and
related files from any user number.
• Improved TYPE command — includes a print option.
• Automatic drive search, and other useful features.
Plu*Perfect Writer
Enhancements for Perfect Writer versions 1 .03 and 1 .20
• One touch commands, using any keypad key.
• Change the size of your swap file.
While editing, with new PW commands:
• Obtain a built-in directory listing
• Change disks • Change user number (1.20)
• Set page size and move around pages (1 .20)
• Available for Kaypro II (2), 4 and 10. Enquire about installation
procedure on Kaypros with Drivetec drives.
The Backgrounder
— with definable keys —
Suspend any program to:
• Print the screen • Write a background file
• Use a Help key • Use any built-in CP/M command
Fully definable keys:
• Every key is redefinable — up to 255 characters
• All regular keys are still available
• Create and save definitions while running a
program
• Automatically load customized definitions for each
program
Background printing:
• Print files while running programs.
The Backgrounder — It's like having a second computer!
(requires CP/M 2.2E)
• Previous customers: send original disk plus $5 to upgrade
to latest versions.
See Your Dealer or Purchase Direct
[Pluperfect Systems]
BOX 1494 • IDYLLWILD, CA 92349 • 714-659-4432
(Orders outside N. America, $5 shipping per disk.
Any checks should be drawn on U.S. bank.)
K-1 Plu*Perfect Writer & CP/M 2.2E $39
K-2 The Backgrounder $45
K-3 CP/M2.2E $32
Deduct $5 if ordering 2 or more disks
Subtotal
California sales tax (6%)
Shipping & handling
TOTAL
3.00
Trademarks: The Backgrounder (Plu'Perfect Systems), Kaypro (Kaypro Corporation), CP/M (Digital Research), Perfect Writer (Perfect Software).
Micro Cornucopia, Number 20, October 1984
25
The Kaypro Column
By David Thompson
Xhis column is about "new." I mean
new drives and disks, the Robie variety
and a new system, the Kaypro PC.
Robie
Speaking of the Robie, this little duck-
ling has the heart of an 84 system, just
the drives, drive clock, BIOS and moni-
tor have been changed. Early feedback
on the Robie has indicated that there is a
problem with the media (disks).
Everyone expected problems with the
drives, I mean, 2.6 meg per disk doesn't
leave a lot of room for error (or anything
else). However, these drives are similar
enough to the current 5" drives that it
shouldn't be too hard to add them to
standard Kaypros (if there are any stand-
ard Kaypros still out there what with 5
MHz, 4 drives, and quad density).
Anyway, we're already working on it,
and you'll be hearing more about these
right here. Don't expect to see these
$500+ drives showing up on the surplus
market soon because there is definitely a
lot of interest in them. Also, the disks are
about $10 each though they look very
similar to standard 5" floppies.
The Robie drive can read standard
Kaypro II and 4 disks but it cannot write
data on these disks — so software trans-
fers are one way only (whereas a quad-
density drive can format and write Kay-
pro II and 4 disks) .
Theoretically the Drivetec drives
should provide very good data reliabili-
ty. You see, the drive has two stepper
motors. One positions the head to the
approximate track location and the other
then adjusts the head position slightly to
maximize the signal.
Your Disks are All Wet
The biggest problem with standard
floppy disks is that the base material is
hydroscopic so it expands and contracts
depending on the humidity. A disk you
format and write at the coast might be
difficult to read on the high desert (espe-
cially if one of your drives is aligned
slightly differently from the other and
it's off in the wrong direction).
Blow-drying (use a slightly warm set-
ting) a disk for half an hour, or placing it
in a steamy bathroom for a few hours,
might be all you need to do to read a
balky disk. (Note, if your girl friend
catches you using her hair dryer on your
disks just tell her you're trying out the
latest style in software development. If
she doesn't buy that, you probably
shouldn't try the same ploy on the guys
at the funny farm.) Hold the disk's jacket
(not your jacket) open a bit so that the
moist or dry air can reach all of the sur-
face.
Anyway, the Drivetec drives compen-
sate for the changes in disk diameter.
However, disk size is not the only prob-
lem caused by the environment. Most
disks are rated for 3 to 3 1/2 million head
passes (per track) before the media
wears out. Well, some of the disks avail-
able for the Robie drives are wearing out
after 1 or 2 million passes, but this short-
ened life appears to correspond with
high-temperature (80-100 degrees) and/
or high humidity (90+ %).
At 70 degrees and 50% humidity, the
disks appear to be unscathed after 4 mil-
lion passes.
There appears to be some disagree-
ment about who makes the best Robie
media. Drivetec feels that Brown disks
are best, and the Drivetec branded disks
are really Brown. Other folks feel that
Maxell disks are the best. We'll have to '
wait and see. I hope that these Maxell
disks are not as abrasive as the standard
Maxell 5" disks. Anyway, Brown is sup-
posedly coming up with a revised media
package so their disks may be getting
better.
Squeezing in 192 tracks per inch (sar-
dines have nothing to complain about)
might appear to be foolhardy especially
when you realize that they have data be-
tween the tracks. They call this data
"servo bursts" and if the drive doesn't
detect these little off-track marks it
doesn't send index pulses to the Kaypro.
Obviously you have to purchase the
disks pre-formatted, and heaven help
the little gnome who passes a magnet
over papa's new disks.
Manufacturing
There are four outfits who either are,
or soon will be, manufacturing Robie
disks: Spin Physics (owned by Kodak),
Maxell, Dysan, and Brown.
Kodak (via Spin Physics) is supposed-
ly working on expanding the disk tech-
nology. They already have a super den-
sity 5" disk and are working on an even
higher density version with vertically
polarized media. Anyway, the Robie
drive is already one level behind the
state of the art and will soon be two lev-
els down.
Three outfits will be manufacturing
Robie-style drives: Drivetec, Kaypro,
and Kodak. Kaypro and Kodak will be
manufacturing them under license from
Drivetec.
There are currently only about a dozen
12X systems in existance (the Kaypro 10
with a 2.6 meg floppy drive). The engi-
neers at Kaypro are using these 12Xs for
software development (such a deal).
Ungrounded Problems
The current Robie drives have had a
problem with electrical noise, and the
folks at Kaypro are testing out the fol-
lowing fix. Unplug the green wires from
the grounding tabs on the drives and
then tie pins 3 and 7 together on the
power supply. This is supposed to tie the
chassis ground and the 12V return line
together. They feel that the noise results
from a ground loop.
Superterm Won't Be
Kaypro will be doing away with Su-
perterm in the very near future. (Do I
hear hooray's?) They will be replacing it
with a menu-driven version of Myte.
(More hooray's?)
PC Compatible From Kaypro
The word is that Kaypro will be show-
ing its new PC compatible at Comdex. It
will be a very PC XT like system com-
plete with Winchester and will run 1-2-3
and Flight Simulator.
Flight Simulator is significant, not so
much because everyone wants to run it,
(come fly with me) but because it is con-
sidered one of the best tests for PC com-
patibility. If you can run this program,
you are really compatible.
It comes with a Western Digital Win-
chester controller, 256K (you can add an
additional 192K on board), an 8088 (I be-
lieve) on the plug-in processor card
(keeping their options open), and one
additional card slot for adding additional
hardware.
It will come inside a standard Kaypro
10 cabinet (do I hear murmurs in the
26
Micro Cornucopia, Number 20, October 1984
crowd?) and will have a built-in 9" green
CRT. The choice of cabinet limits them to
the single open card slot. There will be a
connector on the back for plugging in an-
other monitor. The system weighs about
the same as the current Kaypro 10.
I don't have any word on the software
package that will come with the system
but considering MicroPros selection of
PC software, I wouldn't be surprised to
see WordStar, CalcStar . . . combined
with the new system.
Another Neat Publication
Push and Pop is the monthly publica-
tion (30 pages) of Sacramento's Micro-
computer User Group. The June issue
covered translating Fortran programs in-
to Pascal, CP/M 68K, purchasing a com-
puter, and Winchester drive notes. The
magazine is well done and easy to read.
The publication contains a list of other
Sacramento User Groups: Big Board,
Morrow, S-100, Televideo, Heath-Ze-
nith, Kaypro, Osborne, and Sanyo. The
Big Board group's number is 916-383-
7059 (Harold Musser, eves), the Kaypro
group's number is 916-961-8810 (Marty
Meyer), and the Morrow group is avail-
able at 916-421-6268 (Milt Levison).
Subscriptions are $10 per year and
their address is SMUG, PO Box 161513,
Sacramento, CA 95816 (Attn Push and
Pop).
84 Board Service Hints
The 74LS373 (U6) is reportedly the cul-
prit when the Centronics port goes to
lunch (makes sense).
If you are having autodialer problems,
you can check out your dialer chip (U19)
by selecting pulse mode in Superterm's
dial menu and then listening to the chip
(you can actually hear it work). If you
don't hear anything, suspect either the
TMS 99531 dialer or the Z80A. As we re-
ported last issue, some people are re-
porting that their system is locking up
during dialing and many of them have
been told to replace their Z80A with a
Z80H.
On the Kaypro 10s, some people are
getting a "status 02" error message. That
usually means that the Kaypro can't read
the system tracks. (The Winchester
might not be up to speed or that the sys-
tem tracks may have been garbaged.)
The Winchester may be slow coming up,
the +12V supply may be weak, or you
may need to replace the system track.
(Check Kaypro documentation if it looks
like you need to rewrite the system
tracks.)
■ * »,-■:.. Jg» ■ "....- .MUW B. A. 1 ' ", ■ J.W Wl f
KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO
K
A
Y
P
R
O
K
A
Y
P
R
O
A
Y
P
R
O
Kug Update and Invitation
KUG, the International Kaypro Users' Group, invites you to join the more than 15,000
members from around the world.
As a member, you will receive the bi-monthly KUGRAM® newsletter that is read in all
50 states and 23 countries worldwide. The articles and programs in KUGRAM® are
aimed at the first time user and the "pro". We have received welcoming comments from
both. Our column on CP/M titled CP/M STUFF, is regarded as a fine tutorial in working
with the KAYPRO operating system. Others include BOX 100 (letters from members), CHAPTERS (new chapters
from around the world), IN RESPONSE (answers to the many questions we receive), VENDORS (suppliers of
Kaypro compatible products) and REVIEWS of software and hardware for the Kaypro Computer.
KUG also operates its own Bulletin Board and is a SIG (Special Interest Group) on CompuServe (GO PCS 25). You
can meet and communicate with other KUGGERS through this electronic medium.
The KUG library has excellent public domain software such as GAMES (Adventure, Pac-Man, Eliza and more),
UTILITIES (programs to make your file handling easier), HELPS (helpful hints on MBASIC, SBASIC, CP/M and
others), also programs for MODEM, BUSINESS, STATISTICS, MULTI-FORMATS plus contributions from members
that are constantly beings added and updated.
Other services include free information on starting your own Local KUG, information on printer configurations,
updates on hardware and software, the latest news from Kaypro Corp. and MORE.
For additional information and KUG membership application, fill out the coupon and send it to:
KUG BOX 100 K MALVERNE, NY 11565
Do it now and find new friendly KUGGERS through the independent international Kaypro Users' Group.
NAME ,
ADDRESS
CITY
STATE
ZIP
K
A
Y
P
R
O
K
A
Y
P
R
O
K
A
Y
P
R
O
K
A
Y
P
R
O
PHONE (
KAYPRO MODEL
KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO
Micro Cornucopia, Number 20, October 1984
27
Create graphics masterpieces with. . .
(jLetmmndt
Complete Business Graphics Toolkif
NEED GRAPHICS? You don't need a new computer. You need REMBRANDT. The software
package that unleashes all the graphics power built into your Kaypro Computer.
Until now, accessing Kaypro graphics required advanced programming efforts. Now the
REMBRANDT Business Graphics Toolkit gives you three easy-to-use tools that allow even the
most inexperienced user to quickly master Kaypro graphics.
KGRAPH™ enables quick and easy creation of business KBOARD " is the full-screen graphics editor for your
graphics including horizontal and vertical bar charts, pie Kaypro computer. Create graphic screens, save and recall
charts and xy plots (scatter-graphsj — KGRAPH uses-hand them to and from disk. Layout forms, design logos, draw
entered data or reads numerical data from just about any pictures. It's easy and fun to use!
source including dBase \\. 'spreadsheet, Mbasic and
Wordstar files.
KBRIEF™ produces electronic on-screen "slide shows" with absolutely
no programming required! KGRAPH and KBOARD files are
easily sequenced using nine special effects!
REMBRANDT is complete with printer routines so graphics can be reproduced on virtually every
dot-matrix or daisy-wheel printer.
See your Kaypro dealer for a demonstration of REMBRANDT, the Complete Business Graphics Toolkit.
REMBRANDT costs just $79.95, but is introductory-priced at $69.95 until October 31.
A demonstration disk is just S5.00 applicable to the purchase price.
For Kaypro 2-84, 2X, 4-84, 4E, 4X, 10, 12X and Robie.
Make your KAYPRO computer IBM-PC compatible
for $29.95!
READ, WRITE and FORMAT more than 25 different
types of disks (including IBM PC-DOS/MS-DOS) with
Are you tired of trying to find your favorite software package in Kaypro format? Would you like to use your
Kaypro generated Wordstar files, dBase II data and spreadsheet files on the IBM-PC at work (and vice-versa)?
Do you want to trade public domain software with a friend who owns an Osborne?
MEDIA MASTER gives your Kaypro instant access to program and data files in over 25 disk formats including:
Osborne SD & DD
IBM PC-DOS 1.0 & up
IBM PC-DOS 2.0 & up
IBM CP/M-86
Morrow MD2
Systel II
LIMW-80
TRS-80 with Omikron CP/M
TRS-80 III w/Memoiy Merchant
TRS-80 IV with CP/M+
Heath Z100
Heath w/Magnolia CP/M
Cromemco w/lnt'l Term
Cromemco CDOS SSDD
Cromemco CDOS SSSD
Tl Professional CP/M-86
Actrix
Lobo Max-80
Xerox 820 I SD
Xerox 820 II DD
Zenith Z90
DEC VT180
IS/EC PC-8001A
Kaypro II
Now available for Kaypro 2 (and II): All other models soon!
ORDERING INFORMATION: Include S3 per order for postage/handling. Overseas airmail add $10.
California residents add 6% tax (LA County, add 6.5%).
To place COD or credit card orders.
Call TOLL FREE 24 hours: 800-824-7888 (Ask for Operator 407)
Alaska, Hawaii: 800-824-791 9 (Ask for Operator 407)
Technical questions: call (818) 716-1655
For more information, a free brochure (including sample printouts and reviews), or to order, contact:
23145 Big ler Street
Woodland Hills, CA 91364
All programs also available for OSBORNE and DEC RAINBOW computers. Dealer inquiries invited.
See us at EAST COAST COMPUTER FAIRE booth #1119
28
Micro Cornucopia, Number 20, October 1984
GET IN THE FAST LANE
WITHOUT BURNING YOUR WALLET
with a
U.S. ROBOTICS
1200 BAUD MODEM
Product: Features: Our Cash Price: List:
Auto Dial 212A: 1200/300 baud, auto answer/dial $425.. $599
Password: Coat-pocketable Auto Dial 212A $329.. $449
S-100 Modem Auto-Dial 12/6/300 baud on S100 card. . .$329. .$449
Telpac: Modem Software from USR $69... $79
Lamp: CPM/80 Modem Software by Widener Consulting. . .$20
Latest Technology Fewer Parts Two Year Warranty
All units are direct connect, full or half duplex 212A, software
compatible with the Hayes Smartmodems. The Auto Dial has two RJ11C
jacks, analog selftest, status LED's and a metal case; Password has
a smaller plastic case and built-in RS232 cable, male or female.
POWERFUL PRODUCTS FOR BB AND KAYPRO!
All those who have lusted after several add-ons for the Big Board I,
but been discouraged by the shortage of parallel ports, take notice I
Now you can run all the add-ons at once with the
PARALLEL
PORT
N D
$189 assembled & tested
$59 bare board
- eight I/O ports, compatible with BBI&II, Xerox 820, Kaypro II&IV.
- no mods to BB, Xerox, does not interfere with other add-ons
- operate 2 parallel printers, rom burner, hard disk, and Dynadisk!
- And if you are a real hog, parallel four expanders for 32 ports!
- includes fancy BIOS, 2 par. & 1 serial printer selected by IOBYTE.
- includes instructions, integrated ROM burner and Dynadisk software
- adapt Big Board add-ons to the Kaypro.
THE ULTIMATE
255 CONTINUOUS CHARACTER AND REVERSE VIDEO CURSOR
BIG BOARD I AND KAYPRO 11/ IV MOD
Now you can have a significant increase in the writing power of your
system, with the ability to key in, display, edit, and print 212
characters, including continuous line graphics. Other features are
blinking or constant reverse video cursor, character sets to match
NEC 8023, C.Itoh Prowriter, and IBMPC, key labels, reverse video
fields, improvements in the monitor rom, integration with Perfect
Writer and Formattter. The mod comes assembled and tested and
requires about 45 minutes to install. Software is included to define
custom characters: blow your own rom, or we will do it.
NEC Extended character set (C.Itoh has same set, just re-arranged):
The Ultimate Video Mod $189.00
Perfect Writer $199.00
Designing a circuit board? Call us about 3 day film&board turnaround!
Cash price with U.S. shipping; Visa/MC/Net30 add 3%, COD $6.
Dealer inquiries invited - quantity discounts available.
Widener Consulting
2835 NE Brogden
Hillsboro, OR 97124
(503) 648-0363
LINK
YOUR
GANG
TOGETHER
Control up to 4 AC devices at
one time with your Kaypro*
computer.
• Without tying up either your RS232 or Centronics Port
• 7500V isolation between computer and controlled
devices
• No moving parts
• Simple plug In installation to your computer
• Requires no soldering or cutting in your Kaypro"
• Software examples in Basic and Z80 Assembly
Language
• Easy to create your own specialized programs
INCLUDES:
• Fully assembled and tested printed circuit board
• 5V*" diskette with software examples and documen-
tation
• plug In adapter and cable for the Kaypro' II and IV
(Ask about versions for Kaypro" 10 or Kaypro" 4/84)
ONLY $39.95 (plus $2.00 shipping & handling)
30 day Money Back Guarantee
Send check, money orders, orlnqulrles for THE MASTER SWITCH to:
SIPPE SYSTEMS
6520 Selma Ave., Box 528
Los Angeles, California 90028
'Kaypro 1$ a trademark of Kaypro Corporation
A NEW TWIST
FAT JACK
READING RACK
• SEE COPY-SCREEN/KEYBOARD
AT THE SAME TIME.
• EASILY ATTACHED TO
ANY KAYPRO™
• 16" WIDE- AND STRONG
FULLY SUPPORTS - BOOKS
MAGAZINES • REPORTS
WITH UNIQUE PAGECLIP'"
Dealer and group inquiries invited.
ONLY $17.95 +S1. 50 Shipping
(Continental U.S.A.)
Washington Residents Add $1 .45 Sales Tax.
Cashier Checks & Money Orders Shipped Promptly.
(Personal Checks Must Clear - 2 Weeks.)
(Price & Configuration subject to change without notice.)
The Best Accessory
You'll Ever Buy For Your
Kaypro™
ORDER FROM:
TWIST, INC.
P.O. Box 1406. Renton. WA 98057
Micro Cornucopia, Number 20, October 1984
29
Cheap and Dirty Talker for your Kaypro
James E. Shaffer
445 S. Los Robles
Pasadena CA 91101
When you are asked, "What can your
Kaypro computer do?", wouldn't it be
nice to have your Kaypro say, "I'll han-
dle that question myself. And by the
way, what can you do?"
With the Cheap and Dirty Talker, your
Kaypro will be able to say anything you
have stored in its memory (up to 20 sec-
onds of speech).
The Talker will let you to calibrate its
input level; store voice data in memory;
play it back from memory; store the voice
data onto drive B; read the voice data
from drive B and store it in memory; and
view the voice data on the screen. The
technique used is called differentiated
and integrated speech.
Hardwords
The hardware is typical Cheap and
Dirty and will make your Kaypro's voice
sound a little mechanical and raspy, but
very intelligible.
You can make improvements to this
circuit so that the speech is telephone
quality but that would require more
components. And after all, this is a
Cheap and Dirty project.
The hardware (figure 1) consists of 2
capacitors and 3 resistors plus almost
any amplifier/speaker and microphone.
I am using a Radio Shack Mini Amplifier/
Speaker ($8.95 when on sale) and a crys-
tal mike cartridge ($3.00 at most elec-
tronic stores). Your stereo should work
well; most small cassette recorders with
a built-in mike will also suffice.
Basic Poking
The listing (figure 2) is MBASIC with a
poked-in machine language program
which does most of the work. The ma-
chine language is customized for a 4 Mhz
clock. To re-customize it, change the last
data number in line 170 to 23 for 2.5 Mhz
or 46 for 5 Mhz. If you have another clock
frequency, figure it out yourself.
You must save 16K for the TALKER to
operate. With MBASIC in drive A and
the TALKER program (named TALKER.
BAS) in drive B, type 'MBASIC
B:TALKER/M:&H9FFF. This should
produce the Cheap and Dirty Menu.
Option 1 will help you calibrate the
output volume of your amplifier and mi-
crophone to a level the Kaypro will ac-
cept. When calibrating and inputting
dom file statements for these options.
The Cheap and Dirty Talker should
keep you busy for a while experimenting
with voice recognition.
Editor's note: Now that you can digitize
your voice, think of all the things you can do!
First, there is voice recognition, and voice
control, and finally, of course, mind control
(it's no longer going to be mind over Kaypro).
■ U ■
210
PRINT:
; PRINT
220
PRINT
" [2]
230
PRINT
" [3]
240
PRINT
" [4]
250
PRINT
■ [5]
260
PRINT
- [6]
voice data into memory (Option 2) be-
ware of background noise. Barking
dogs, noisy kids or traffic will garble and
distort your Kaypro's voice. Speak dis-
tinctly and keep your mouth close to the
microphone. (This is your Kaypro you're
speaking to, remember?)
Options 4 and 5 save data to and read
data from drive B. They are sequential
files and take forever to finish. If you
don't like to wait, write your own ran-
Figure 2 - Listing in MBASIC
140 FOR 1=409601 TO 41041 !:READ X:P0KE I,X:NEXT:VOICE=&HA000:VOICE1=&HA031
150 DATA 33, 0, 164, 14, 8,21 9, 28,230, 8, 202, 5, 160, 21 9i28, 230, 8, 31, 31
160 DATA 31,31,126,31,119,13,194,36,160,14,8,35,124,254,228,202
170 DATA 48,160,205,42,160,195,12,160,6, 37
180 DATA 5,194,44,160,201,33,0,164,14,8,126,15,211,8,0,0,0,0,119,13,194
190 DATA 76,160,14,8,35,124,254,228,202,48,160,205,42,160,195,54,160
200 PRINT CHR$( 26): PRINT: PRINT .-PRINT: PRINT SPC(8); "CHEAP & DIRTY TALKER MENU"
" [1] Calibrate voice data input level."
Input voice data to memory."
Output voice data from memory to speaker. "
Store voice data to disk. (Stores on drive B) n
Read disk and store voice data in memory. (Reads drive B) n
Print voice data in memory to screen."
270 PRINT: PRINT: INPUT "Your choice ";X:IF X<1 OR X>6 THEN 270
280 ON X GOTO 300,400,500,600,700,800
300 PRINT CHR$(26 ): PRINT: PRINT:
310 PRINT "Set up your microphone and amplifier as per figure 1 in Micro-C."
320 PRINT "Set the amplifier volume control at a place where *'s do not"
330 PRINT "print en the screen, but if you speak into the mike they print."
340 PRINT "Watch out for background noise! When you say 'SIX' into the mike"
350 PRINT "the ''s should print approximately 1/2 line with a 4 Mhz clock."
360 PRINT "A 2.5 Mhz clock =1/4 line. A 5 Mhz clock = 1/2 line plus a few."
370 PRINT "TOUCH ANY KEY TO RETURN TO MENU. HERE WE GO ";
380 IF INP(28) AND 8 THEN PRINT "»";
390 X$=INKEY$:IF X$="" THEN 380 ELSE 200
400 PRINT CHR$( 26): PRINT: PRINT
410 PRINT "When your ready, touch any key to start. When you see START INPUT"
415 PRINT " Speak distinctly into the mike.":PRINT
416 X$=INKEY$:IF X$="" THEN 416
420 FOR 1=1 TO 1500:NEXT:PRINT "START INPUT":CALL VOICE: PRINT: PRINT
430 PRINT "STOP INPUT Press R to repeat or M to return to menu."
440 X$=INKEY$:IF X$="" THEN 440 ELSE IF X$="R" OR X$="r" THEN 400
450 IF X$="M" OR X$="m" THEN 200 ELSE 440
500 PRINT CHR$(26):PRINT:PRINT
510 PRINT "Configure your amp. for voice data output as per Micro-C fig. 1."
520 PRINT "When your ready touch any key."
530 X$=INKEY$:IF X$=" n THEN 530 ELSE PRINT "Amazing isn't it ?"
535 CALL V0ICE1
540 PRINT "Voice output complete. To stop type M. To repeat type R. "
550 X$=INKEY$:IF X$="" THEN 550 ELSE IF X$="M" OR X$="m" THEN 200
560 IF X$="R" OR X$="r" THEN 535 ELSE 550
600 OPEN "0",#1,"B:DATA.BAS":PRINT:PRINT "Recording B:DATA.BAS"
610 FOR 1=41984! TO 58367I :A=PEEK(I):IF A=26 THEN A=25
620 IF A=13 THEN A=14 ELSE IF A=10 THEN A=9
630 PRINT #1,CHR$( A): NEXT: CLOSE #1:G0T0 200
700 OPEN "I", #1,"B:DATA. BAS": PRINT: PRINT "Reading B:DATA.BAS"
710 FOR 1=41984! TO 58367!:IF E0F(1) THEN CLOSE #1 :G0T0 200
720 LINE INPUT #1,X$:IF X$="" THEN POKE 1,0 ELSE POKE I,ASC(X$)
730 NEXT:CLOSE #1:G0T0 200
800 PRINT CHR$(26); "PRINTING VOICE DATA ON SCREEN"
810 FOR 1=41984! TO 58367!:PRINT USING "#M#";PEEK(I);
820 IF P0S(3)>75 THEN PRINT CHR$(13)
830 NEXT:PRINT:PRINT "To return to MENU touch any key."
840 X$=INKEY$:IF X$="" OR X$=CHR$(19) THEN 840 ELSE 200
30
Micro Cornucopia, Number 20, October 1984
C01686 ATTACHED RESOURCE PROCESSOR
MS-DOS 2.11 CP/M-86 CP/M-80 RAM DISK
8086 8087 768K RAM
For ANY Z80 Based CPM System
"THE 16 BIT CO-PROCESSOR TO BE MEASURED BY THE COMPANY IT KEEPS"
Kaypro 2, Osborn I,
TRS-80/I, Bigboard,
Max80, Heath H8, Altos
Dynabyte, Xerox 820-1,
Horizon, Heath H89,
Systems, Multitech,
Intersystem, Televideo 802,
Teletek, Cromemcro,
Morrow MD3,
Discovery, Exidy Sorcer,
TRS-80/4,
Xerox 820-11,
Altos Series 5,
Microengine, Magic,
Superbrain, Morrow MD11,
Davidge, Northstar
Televideo 803, Eagle 1,
Epson QX10, Lobo
8000-10, Lanier EZ1, Zorba
TRS-80/1I, North Star
TRS-80/III, Monolithic
Convertable, BMC, Ithaca
Kaypro 4, Osborn Exec,
Compupro, Altos 8000-12,
... ..... t DECVT180,
L^, Kaypro 10,
Wave Mate Bullet,
Portabrain,
TRS-80/12,
TRS-80/16A,
Sierra, Vector,
Advantage,
K^y
and many other Z80 systems owners are all extremely satisfied with the C01686
ATTACHED RESOURCE PROCESSOR.
And why shouldn't they be. Look at these impressive features:
A True 16 Bit 8086 Processor
256K to 768K RAM
MS-DOS 2.11 &CPM86
Emulation of 80% of "PC" ROM BIOS
Thousands of CPM86, MS-DOS, & "PC"
Applications will run
MS-DOS & CPM disk files can be co-resident
on the sames device (including harddisk)
Can be used as 768K of high speed CPM80
RAM Disk
• Easily installed on any Z80 based system
• Available in an external cabinet w/ power supply
• Optional 8087 Math Co-Processor, Real Time
Clock, 8 Level Interrupt Controller,
& Proprietory I/O Bus
• Delivered with Logics and Sources
• Optional 12 month warrantee
• Full money back guarantee that it will function
on your Z80 system
• A Quarterly Newsletter
PRICES START AT A LOW $495.00.
For additional information about this revolutionary product, or our Motoroal 68000 Co-Processor,
contact your favorite dealer, send $1 (no checks please) or call:
iHse
Hallock Systems Company, Inc.
262 East Main Street
Frankfort, New York 13340
(315) 895-7426
RESELLER AND OEM
INQUIRIES INVITED.
Figure 7 - Talker Schematic
CRYSTAL MIK.E
•W
IN
OUT
10K.
4-7K
MINI AMp/SPBAKER
KAYPRO rr.
PRINTER PORT
J2
»U
T
16
l «e&
MINI AMP/SPMK6R
KAyPRo It
PRINTER pORT
J2
♦ 9
Digital Dynamics'
SPEEDPRO-5RTC
5 MHZ Speedup Board With
Real Time Clock/Calendar
and TIMEPRO
THIS IS THE TIMEPRO
SOFTWARE SYSTEM:
TIME.COM — Set/display the time.
DATE.COM — Set/display the date.
SEETIME.COM — Continuous display of
the time and date, even when running
application programs like Wordstar.
TD.COM — Records the time and date
your disk files were last updated. Optionally
backs up all updated files.
APT. COM — Schedules your time. Warns
of impending events. Usable by up to 20
different users. Utilities include calendar
generation and date calculation.
APPTARCH.COM — Archives schedule
data from APPT for future reference. Recall
data by date range or key word/ phrase.
APPTaSR.COM — Maintains user log for
the APPT program.
PRNL.COM — Maintains file of yearly or
one-time events. Recall data by date or key
word/ phrase.
OTHR.COM — Displays the time in user
selected locations in other time zones.
TIMER.COM — Maintains a log of up to 99
ongoing activities. Displays the name, start
time/date and duration to the second of
each activity.
TIME.ASM — Assembly language source
code listing for T1ME.COM.
DATE ASM — Assembly language source
code listing for DATE.COM.
CLK.C — Source code for clock access
routines in BDS C.
CLK.PAS — Source code for clock access
routines in TCIRBO PASCAL.
CLKM.BAS — Source code for clock
access routines in MBASIC
CLKS.BAS — Source code for clock
access routines in SBAS1C.
TIMEPRO runs on the Kaypro II and 4 (pre-
1984) equipped with the SPEEDPRO-
5RTC. And does it run — 5 MHZ fast!
SPEEDPRO-5RTC
Board & Software $159.95
TIMEPRO DOCUMENTATION
on Disk (will be credited
toward purchase of
SPEEDPRO-5RTC) $ 15.95
SPEEDPRO-5+ Speedup
Board $ 89.95
(prices exclusive of shipping)
NOW IS THE TIME!
Digital Dynamics (206) 627-0797
P.O. Box 5653 Tacoma, WA 98405
Micro Cornucopia, Number 20, October 1984
31
Over 40% of all failures in transportable computers are caused by
mechanical failure of the floppy drives. Does not need any additional
equipment. You may test any Kaypro® portable as fast as you can
make an omelette.
BE SAFE!!
Our kit will help you keep your drives in top shape!
*48 TPI or 96TPI, Full or Half Size
SHEEPSHEAD SOFTWARE™
P.O. Box 486
Boonville, CA 95415
(707) 463-1833 • (707) 468-8717
Phone orders Mon.-Sat., 9 a.m. to 9
p.m., Pacific Coast Time. Check,
Money Order, MASTER/VISA Card or
C.O.D., add $2. Calif, add 6%, UPS
Blue Label add $5.
32
Micro Cornucopia, Number 20, October 1984
The Slicer Column
By Laine Stump
Micro C Staff
Some great things are happening at
Slicer Computers these days. Dean Klein
and Earl Hinrichs were in Bend for SOG
III to fill us in on what is new (and what
will be new, in a few months) in the 16 bit
world. Dean has several new designs in
the coals and Earl has new software that
is more incredible than ever (if that is
possible).
A Short Disclaimer
Please be aware that the following
goodies are not yet available (but they,
are supposed to be soon). We'll let you
know when they are ready.
Software
The hottest software news is that Earl
is working on Concurrent CP/M. For the
unenlightened, Concurrent (or CCP/M)
is a multi-user equivalent af CP/M that
allows you not only to have multiple
'physical' consoles hooked up and run-
ning at the same time, but also allows
one 'physical' console to be in control of
several 'virtual' consoles.
One of the 'virtual' consoles is the
'foreground process' or the one the user
is currently interacting with and the oth-
ers are 'background processes' (sure are
a lot of buzz words around here). Each
process is given a 'window' on the
screen to display what is happening with
it at any time and even though you can
only give input to one process at a time,
the others are still back there churning
away at whatever you previously told
them to do.
CCP/M uses a clock interrupt to allot
'slices' (Hmm, I think I see a 'Daveism'
here) of time to each process in round
robin fashion. Whenever a timer inter-
rupt occurs, the operating system just
saves the state of the current process and
switches to another. Even though the
processor can really only do one thing at
a time, it appears to be doing several
things at once.
CCP/M is extremely handy for pro-
gram development — you can start a pro-
gram compiling on one console — and
begin debugging another program on a
second console — while editing the pro-
gram on a third. Meanwhile, the fourth
console is dialing up the DOW network
to capture the latest stock quotes on your
multi-million dollar software firm.
This sounds like a lot of consoles to
buy, but you only have to have one actu-
al terminal (although you could have
several if you wanted). The other proc-
esses have as much of their output dis-
played in their window as there is room
for and the rest is stored in memory so
that when you swap processes (by sim-
ply typing a function key) you can en-
large the window and see everything
happening with the new foreground
process.
Some have said that the 'window'
concept couldn't be implemented on a
serial terminal but Earl has windows
working on the Slicer with any terminal
you would like to hook to it.
If you're worrying how your compila-
tion is going, it's easy to check on it.
Without having to change processes at
all, you can just glance down to the bot-
tom line (or top line, or left half, or wher-
ever you like) and see what's happening.
If something looks interesting, just swap
in that process and enlarge its window to
see more. (The line forms behind me.)
CCP/M also has a PC/DOS mode so
you can run PC/DOS programs (if you
are an IBM compatible — more on that
momentarily) and read disks with the
PC/DOS format.
This mode won't be included in the
initial version of CCP/M for the Slicer,
but they will be working on it. In the
meantime they have another program-
mer writing a BIOS so your can run
straight MS/DOS on the Slicer (will be
finished 'real soon now').
Hardware
Meanwhile back on the ranch, Dean
has been keeping himself busy design-
ing the next product to be 'ahead of its
time'. Dean has a habit of doing designs
that use the newest, fastest, most high
tech devices available (it's a dirty, dis-
gusting job, but . . . ). He talked about
several new designs at the SOG (and I'm
sure he DIDN'T talk about several
more).
The one that everyone will be most
anxious to hear about is the 'PC board'
which, when hooked on the Slicer, will
enable it to run quite a bit of PC/DOS
software (although not all). This isn't
quite the usual high tech. (it's really
more like roller skates on a Corvette) but
it will make the Slicer into the best devel-
opment system going for new MS/DOS
and PC/DOS software.
The board will support IBM's memory
mapped video which is the most fre-
quent cause of PC incompatibility.
I might add that it took a lot of judi-
cious work to make a board that could
slow the Slicer down enough to look
anything like a PC.
The new board will also have a PC bus
so you can tack in some those PC boards
that fill the back pages of BYTE. It will
support most add-ons, such as modems,
video boards, etc. but not additional
memory. Of course, you can add memo-
ry with the Slicer expansion board
(which is much faster than any memory
ever dreamed of for the PC). Again, no
release date, but it is coming.
Another Slicer add-on is an 8087 board
for fast numeric processing. Big deal,
just hang a socket on the Slicer and plug
in an 8087. However, Intel forgot all
about the 8087 when they designed the
80186. The 8087 has to be on the same
local bus as the main processor, but the
timing of the 87 and the 186 are incom-
patible. The 87 wants a clock with a 30%
duty cycle and the 186 wants 50%. Also,
the programmable chip select and wait
state generation don't work correctly
with the 8087 and the protocol for trans-
ferring control from one chip to another
is totally different.
Intel has come up with a 82188 'glue
chip' and they are finally sending out
samples (Dean has one). Remember
folks, you saw it here before it showed
up in the New York Times.
The combination of the 80186 and 8087
will give the Slicer hardware floating
point arithmetic that would make Char-
lie cry (if it slowed down long enough for
him to see it) . No date for availability yet.
Rolling Your Own
On during SOG III, 13 attendees had a
chance to assemble and bring up a Slicer
under the guidance of Dean and Earl.
Since I had never before assembled one
(I was fortunate enough to have one in
the office that had already been assem-
bled by the now legendary Dana Cotant)
I decided that I should see just how easy
(continued next page)
Micro Cornucopia, Number 20, October 1984
33
THESLICER COLUMN (continued)-
it was.
I arrived a little late (about 9 AM) but
was still able to get my board assembled
and running with 256k, two 5 inch drives
and a Winchester before noon. I ran into
one problem with a RAM socket that had
been soldered in with a bent pin (sockets
were already in place) but Dean and
company had that fixed in no time.
The whole experience showed me that
assembling a Slicer is a trivial task (much
easier than assembling a Big Board).
And, when you are finished, the system
really screams.
Drives
Another Slicer bonus is that the sys-
tem automatically recognizes what kind
of drive you have hooked to it; you don't
have to make any changes to the BIOS.
That means that you can put 8 inch
drives as A & B and 5 inch drives as C &
D today and tomorrow hook them up the
other way and it will still run, with no
software changes. The only thing that
needs to be set up is the size of the Win-
chester, and that is done with the SETUP
program in just a few seconds. All this
means that you will very seldom ever
have to reassemble the BIOS.
86 User Disks
The Slicer shelf has been getting little
dusty lately, so we decided to do some-
thing about it. This is official notice of
three (that's right THREE!) new 86 user
disks. Disk #4 is definitely not to be
missed, especially if you have the Slicer
expansion board. It contains a new BIOS
that supports the on-board real time
clock and programs to set the clock and
use the time for time stamping listings
etc. If you have CCP/M, the system time
will automatically be set when you boot.
Source code written in PLI is included so
you can get an idea of how to access the
clock.
For those of you interested in trans-
fering files between CP/M-86 and main-
frame environments disk #4 also con-
tains a disk management program for
IBM 374X standard interchange disks. It
provides full maintenance of disks in
IBM 3741 or 3742 directory format. You
can copy to or from IBM format as well as
initializing new diskettes, listing the di-
Dean Klein (far right) directs Slicer building session on Saturday morning.
rectory, or listing files to the CRT. Mark
Johnson, who sent in this program
(along with most of the rest of the mate-
rial on the disk) says that it is faster and
better than a popular commercial ver-
sion sold for $350.
The final big plus on this disk is an
8086 version of the RESOURCE disas-
sembler. Those of you who have tried to
debug someone else's program without
the source know what a valuable tool
this is.
Disks 5 and 6 are a two disk set of FIG
Forth. This is the FIG 83 standard and all
of the new words are supported, includ-
ing a very nice VIEW command which
pulls the original source of the definition
to the word you want from the disk and
displays it to you with comments. The
Forth screens are stored in a CP/M file so
Forth and CP/M can reside on the same
disk without stepping on each other's
feet (I currently have it on my Winches-
ter). It does not have floating point, but
for most applications this isn't needed
anyway. This is a very complete Forth,
probably suitable for production work.
Benchmarks will be FORTHcoming in
future issues.
Bug Note
DU, the disk utility on disk 86-2 will
tell you that all disk sectors are empty
until you do an "M" command to map
the disk. After that, it will work proper-
iy-
Plea for Software
The folks at Slicer are considering put-
ting up a Slicer bulletin board, but they
need an RCP/M program first. So, please
send us or them any bulletin board pro-
grams you have for CP/M-86. It would
also be nice to see some good smartmo-
dem programs (and ANYTHING else
you have).
A Z80 to 8086 source code translator
would be really great, too. I am currently
working on a Z80 emulator program that
will hopefully be completed shortly. It
will support a full-blown 64k Z80 (not
just 8080) system and allow BDOS and
BIOS calls.
The 8080 emulation is already running
(with no BIOS calls). That, along with a
screen oriented SWEEP-like file man-
agement program called VFILER will be
the core of disk #7. 1 am hoping it will be
34
Micro Cornucopia, Number 20, October 1984
finished soon because VFILER alone is
worth three times the price of the disk
(not to mention the value of being able to
run ALL of your CP/M-80 utilities on the
Slicer during your conversion). Bear in
mind that this is an unofficial synopsis of
disk #7; it could all change by tomorrow
morning. Also, don't get fooled into
thinking that I am going to write ALL the
software for ALL the user disks. This is
just a carrot to get you going (remember,
a free user disk for a neat CP/M 86 pro-
gram).
The Great Eight Debate
While I'm on the subject, I was talking
to Earl the other day, he mentioned that
some people would prefer to see Slicer
disks on 5" rather than 8".
We have chosen 8" because single-
density 8" is the only real standard and
because 8" drives are only $100 each.
However, we would consider also sup-
porting one of the 5" formats if you folks
want to pick one (perhaps IBM DSDD?).
Send in your cards and letters.
Hints
Those of you who are familiar with
ZCPR under CP/M-80 probably wish
you had a new CCP for your 86 that
would search user for CMD files not
found in the current area. While talking
to Earl, I mentioned this and he told me a
way to do much the same thing with
standard CP/M-86. All you have to do is
put all your CMD files in user and use
STAT to give them a SYS attribute.
A>stat *.cmd sys(CR)
Now you won't see the files when you
do a DIR (they will display when you do
a DIRS) but they will be available from
every user area. This is documented in
the CP/M-86 manuals, but who has time
to read the documentation? Finding this
out really made my day. It still won't
search drive A (but I hear CCP/M will).
If you are writing a program that
needs to move the cursor around, you
need to know what the terminal expects.
This is simple on the BB and Kaypro be-
cause they all emulate an ADM3 (more
or less).
On the Slicer, however, there is no
way to know what type of terminal the
user will have. Really up a creek (as we
say in Montana) aren't you? Well you
would be if it weren't for good old Earl.
He saw the problem and added moni-
tor calls to clear the screen and position
the cursor. The user can configure these
routines in SETUP and presto, your soft-
ware can clear the screen or position the
cursor simply by calling the monitor, no
matter what kind of terminal he has.
The following two lines of code will
handle clearing the screen.
you can clear the screen by merely giving
the instruction:
CLRSCN: MOV
INT
BL,24
59
;Clr Scrn Funct
;Intrpt Monitor
That's all there is to it. If you want to
position the cursor, just load register DL
with the vertical row to place the cursor
on and register DH with the horizontal
column and execute the following code:
CURPOS: MOV
INT
BL.25
59
; Position Funct
;Intrpt Monitor
This is assuming that the upper left
corner is (0,0). These two calls are very
nice for programs that you know will on-
ly be running on a Slicer, but could be
running on ANY Slicer. Don't use them
for anything going to another system
though! Another catch is that these calls
won't work under CCP/M. A way to get
around this is to do a BDOS call to check
the version number. Do the monitor call
if it is not concurrent and send standard
IBM-PC sequences if it is.
There are several other monitor rou-
tines that can be accessed in the same
way. For a list look at the file ENTRY. A86
that came on your Slicer distribution
disk. Also take a peek at CODES1.A86
for several handy macro definitions,
such as ones to let you use the 186 specif-
ic instructions (like hardware multiply
and multiple bit shifts) If you 'IN-
CLUDE' CODES1 into your program,
MON
CLRSCR
Back in the Saddle
Slicer things were fairly quiet for a
while. Interest seemed to lull after every-
one found out there was no software to
run on it. (What good is a Porsche if the
gas station is closed?) That is all chang-
ing now; with the new user disks and
CCP/M (and the PC board and the 8087
and . . . ) it is getting more attractive ev-
ery day. Let all the uninformed masses
rush out and buy their PC's; you can sit
comfortably at home running at twice
the speed of Charlie and write that elu-
sive mambo program that will make you
rich (if not incredibly wealthy).
EXPAND YOUR
PRO-TEN7TAL
• HARD DISK ADAPTOR
Allows you to add megabytes of storage.
Easy to install. Includes complete
software and documentation.
$95.00 single unit quantity.
• CP/M 3.0 BIOS UPGRADE
Allows installation of CP/M 3.0 giving
you a faster more powerful system.
$50.00 single unit quantity.
• ALAN* NETWORK
— local network for Kaypro "computers.
OEM/DEALER INQUIRIES WELCOME
Quantity Discount Available.
Call to order or for information
HUNTINGTON DATA SYSTEMS
*ALAI\I is a trademark of Huntington Data Systems, Inc.
Solutions that work. For you.
307 SIXTH STREET
HUNTINGTON BEACH, CA 92648
(714) 960-7498
Micro Cornucopia, Number 20, October 1984
35
Slicer Computer System
^mmmmmmtm^^
L
tfi$
............... ■, ^.|
Custom configurations available upon request.
Send in specifications for pricing.
SLICER
SLICER COMPUTERS INC.
2543 Marshall Street N.E.
Minneapolis, MN 55418
(612) 788-9481
Real 16-Bit Computer Board with 80186, 256K Bytes
RAM - 64K Bytes EPROM, Two RS232C Ports and
Floppy Controller for 8", 5 1 / 4 " and 3 1 / 2 ".
System Includes:
SLICER Computer
H Board
~ SLICER Enclosure
Two 5%" Drives
96 TPI D.S.D.D.
800K Bytes/Drive
6 MS Step Rate
Terminal
Power Supply
CP/M 86*
Expansion Capabilities
Price: $3,495.00
Price (w/o Terminal): $2,995.00
Prices S.T.C. w/o N
Mastercard, Visa, Check, Money Order
or UPS COD orders accepted
'CP/M is a trademark of Digital Research, Inc.
Slicer Enclosure
SPECIFICATIONS
14 1 / 2 "Wx6"Hx 15"D
Rigid construction of upper and
lower chassis accommodates various
computer configurations
Custom-made enclosures available at additional
cost - send in specifications for pricing
SLICER COMPUTERS INC.
qi I/~CO™ 2543 Marshall Street N.E.
OLI^CIV Minneapolis, MN 55418
(612) 788-9481
SLICER 16-Bit Computer
X
X
SLICER Expansion Board
X
X
Future SLICER Boards
X
Power Supply
X
X X
Two 5 1 /4" HH Floppies
X
X
Hard Disk & Controller
X
Four DB 25 & Two 50
pin prepunched connector
holes (Standard)
Enclosure Price
. $125.00
With power supply,
line cord & switches
. $245.00
With two 5 1 /4" 96 TPI drives . . .
. $795.00
Plus UPS Shipping Charges
Prices S.T.C. w/o N
Mastercard, Visa, Check, Money Order
or UPS C.O.D. orders accepted
36
Micro Cornucopia, Number 20, October 1984
get REAL 1 6 BIT power
A SINGLE BOARD COMPUTER FEATURING THE INTEL 801 86
(see Byte magazine April '83)
THE SUCER
Full 8MHz 16-bit microprocessor having
complete software compatibility with the
8086 and 8088
256K Bytes of RAM plus 64K** Bytes of
EPROM memory capacity on board
Floppy disk controller can run a
combination of 8", 5-1/4", 3-1/2" drives
simultaneously
SASI port for hard disk controller
Two full function RS232C serial ports
with individually controlled baud rates
from 50 to 38.4K baud
8K of EPROM contains drivers for
peripherals, commands for hardware
checkout and software testing
■ Source for monitor and bios included on disk
■ Bios for CP/M 86* supports 8", 5%", 3 1 /*"
drives, the Xebec 1410 and Western Digital
WD 1002 SHD** controller for hard disks
■ Board size 6" x 12" power requirements
+5 @ 3A, +12V @ 60mA, -12V @ 50mA
■ Complete documentation included.
6 MHz 8 MHz
Sold in various forms:
Assembled and tested $1105 $1125
Full Kit 925 945
Easy Kit (hard to get parts) .... 480 500
Bare Kit (board, Rom, Doc, and Disk) ... 150
CP/M 86* available 85
Regular U.P.S. shipping within continental U.S.
is included.
THE SUCER EXPANSION BOARD
■ 256K bytes dynamic RAM using the
TMS4500 DRAM controller
■ 2 RS232C serial asynchronous ports using
the Signetics SC2681 serial communications
circuit with baud rates selectable from 38.4K
baud to 50 baud
■ 2 RS232C serial asynchronous ports using the
Zilog 8530 SCC with header connectors
for synchronous communications personality
cards
■ Real Time Clock with battery back-up using the
CDP6818 RTC circuit, on-board or off-board
battery
SLICER
♦ SLICER Enclosure $125
w/Power Supply 245
w/Power Supply and Two 96 TPI Drives . . 795
♦ SLICER Computer System 2995
w/Terminal 3495
■ Parallel printer port for Centronics-type
printers
■ Same size as the SLICER, Power: 5V@ 1.5A,
+12 @ 200 mA - 12V @ 100 mA
Sold in various forms:
Assembled and tested $800.00
Full Kit 650.00
Memory Board 450.00
3 Port Board and Clock -. 225.00
Bare Board and Doc 95.00
Regular U.P.S. shipping within continental U.S.
is included. Prices subject to change
without notice
Mastercard, Visa, Check,
Money Order or C.O.D.
orders accepted. Allow
4 weeks for delivery.
SLICER COMPUTERS INC. 2543 Marshall St. N.E.
Minneapolis, MN 55418 (612) 788-9481
h CP/M a trademark of
Digital Research, Inc.
f New items
Micro Cornucopia, Number 20, October 1984
37
FORTHwords
By Arne A. Henden
7415 Leahy Road
New Carrollton MD 20784
301-552-1295
I promised a column on forms genera-
tion, and finally took the time to write
the utility. I hope you like it, it certainly
was fun to write!
Vendor News
I've been compiling a vendor matrix
for the FORTH Vendor's Group. This
matrix will replace the vendor list that
used to appear in FORTH Dimensions.
One of the side benefits is that I get ev-
erybody's brochures and hints of what
they have in the works.
Laboratory Microsystems plans to
bring out Pro 325/350 and Macintosh
versions within the next few months.
They continue to have a nice set of utili-
ties available for their versions, but I'm
not impressed by the documentation.
IEV (who markets a very fast 8088
FORTH) is bringing out a version for the
Apple in December.
MicroMotion (one of the oldest
FORTH vendors) is branching out and
supporting the IBM PC and Atari lines in
the nenr future.
Here at Unified Software we are bring-
ing out Apple and Macintosh versions
this Fall. We are also converting to
FORTH-83 and will have a new manual
set.
(Editor's note: FORTH-83 is also available
for the Sheer. Check out the latest CPIM86
disks from Micro C.)
The Macintosh is an interesting com-
puter. We bought one primarily to gen-
erate brochures and flowcharts and love
it.
Creative Solutions has done a good
job with their MacFORTH, providing
window, sound and graphics support.
The windows really help in creating an
on-line tutorial, as you can display text
in one window and have the user try
functions in another window. Others
may complain about windows and
mouse control, but used effectively as
they are in the Macintosh environment
they can be impressive.
Forms Generation
Remember the column describing
how to create menus? Forms are similar
to menus except that they do not provide
multiple choices. Instead, the user is ex-
pected to "fill in the blanks." Forms are
most often used for data base entry pro-
grams, such as in keeping track of cus-
tomers in a doctor's office or filling or-
ders.
The basic concept of a form is the tem-
plate. This is the recipe that describes the
screen layout for your form. Usually a
form consists of two basic elements: la-
bels and fields.
A label is an ASCII string that is placed
at a specific location on the screen. They
may be informative, such as a title for the
form, or they may be interrogative, such
as a question to be answered by the user.
A field can be ASCII or numeric. Usu-
ally preceded by a label, a field is the
blank area to be filled in by the user.
Creating a form requires some method
of specifying the location of every field
and label to appear on the screen. Filling
the form entails not only text entry, but
the ability to backspace, terminate entry
for one field, move to adjacent fields, and
to exit normally or abort data entry. Fi-
nally, interpreting the form requires
parsing each entered string according to
its ASCII or numeric identity and placing
the results into the data base.
In this column, I will show you a sim-
ple forms generator. Designed to permit
data entry on a single screen, this gener-
ator can be used as a starting point for
your own forms design program.
Creating The Form
As shown in the accompanying list-
ing, I've defined two words to handle
the forms data types. LABEL creates a
buffer that contains an ASCII label at a
specified row (vertical) and column (hor-
izontal) location. The ASCII string is ter-
minated with a back slash so that you can
include blanks in the string. FIELD cre-
ates a buffer n characters long that is to
be entered at a given row and column
location. These buffers are named, and
each is linked to its following label or
field. You wouldn't have to name buff-
ers, but doing so provides convenient
debug facilities and also gives access to
each field for data parsing.
START-OF-FORM defines a named
form. All LABELs and FIELDs entered
after START-OF-FORM -is executed are
placed in form name>. END-OF-FORM
sets the final links in the current form so
that the screen paint and data entry
words have starting points. The first field
and label have zero links to terminate
searches.
CUR-FORM is a pointer to the current
form. It is set whenever name> or
START-OF-FORM is executed. At the
same time, LAST- FIELD and LAST-LA-
BEL are set to zero.
When the first field or label is defined,
it sets its appropriate LAST- variable.
When a subsequent field or label is en-
tered, the LAST- variable is used to link
to prior entries, then is replaced by the
current address. This is a crude method
to implement linking, necessary if the
form is to be painted and filled.
However, the linking is backwards,
meaning that the most recently entered
field or label will be displayed first.
When creating your form, you will need
to work from bottom up. All labels or
fields should be entered in sequential or-
der to prevent irregular cursor move-
ment.
This procedure of forms creation is
simple and flexible. However, you must
first sit down with pencil and paper and
lay out your form. Then you can deter-
mine row, column and length parame-
ters for each element and edit the correct
parameters into your disk blocks.
Form lay out would be easier if the us-
er could work free-form on the screen
(followed by a parse by the program to
locate all fields and labels and to auto-
matically create entries). I leave this
forms creation editor as an exercise for
the reader! (And when you're done,
please send it in!)
Fainting the Form
You've gone through the tribulation of
creating your Template. Now you want
to display the Template in preparation
for operator entry.
First, we need to define two terminal-
specific words: you need to be able to
clear the screen, and to be able to move
the cursor to a specified row and column.
The two words shown in the accom-
panying screen are for the BBI or ADM-
3. Similar words are easy to write for oth-
er terminals.
Next, we need to define a blanking
character. Unless you fill fields when
painting the screen, the user won't know
38
Micro Cornucopia, Number 20, October 1984
FORTH Screens
SCR # 3
( UNIFORTH Forms Generation Package)
1 ( Copyright 1984 Unified Software Systems. Use by)
2 ( individuals hereby granted, as long as not for resale.)
3 VARIABLE LOWLIM ( adr of low answer limit)
4 VARIABLE UPLIM ( adr of high answer limit)
5 VARIABLE CUR-FORM ( pointer to current form)
6 VARIABLE CUR-FIELD ( pointer to current field).
7 VARIABLE CUR-POS ( current cursor position)
8 VARIABLE LAST-FIELD ( last field)
9 VARIABLE LAST-LABEL ( last label)
10 95 CONSTANT BLANKING-CHAR ( field blank char = underline)
11 : GOTOCR ( col row ...goto r,c posn..wrt upper left)
12 27 EMIT 61 EMIT MAX 23 MIN 32 + EMIT
13 MAX 79 MIN 32 + EMIT ;
14 : PAGE ( clear the screen) 26 EMIT ;
15 — >
SCR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PAINT-FIELDS & PAINT 081284AAH)
PAINT-FIELDS ( adr — ..paint fields till link=0)
DUP IF ( if 1st adr = 0, then leave early)
BEGIN DUP >R NEW-FIELD ( move to new field)
R6 2+ § DUP DO BLANKING-CHAR EMIT LOOP ( blankscreen)
R6 8 + SWAP BLANKS ( blankfield)
R> g DUP 0= UNTIL DROP THEN ;
PAINT ( paint the current form)
PAGE ( clear the screen)
CUR-FORM e § PAINT-LABELS ( fill labels on screen)
CUR-FORM § 2+ § DUP PAINT-FIELDS ( fill fields & blank)
CUR-FIELD ! ;
■>
SCR #
(
1 :
2
3
4
5
6
7
8
9 :
10
11 :
12
13
14 -
15
LABEL & END-0F-F0RM . 081284AAH)
LABEL ( row col — ..Creates label buffers)
CREATE ( create the header for the new word)
HERE LAST-LABEL @ , LAST-LABEL ! ( link to prev labels)
, , ( store row & column)
94 WORD ( fetch following string, terminated w/backslash)
DUP C§ 1+ DUP >R HERE SWAP CMOVE ( move to definition)
R> ALLOT ( allot space in dictionary for string)
D0ES> 6 + COUNT ; ( leaves stradr & cnt)
END-0F-F0RM ( terminate current form)
LAST-LABEL § CUR-FORM 8 I LAST-FIELD § CUR-FORM § 2+ ! ;
RESET ( set last- and cur- variables from curform)
CUR-FORM e DUP LAST-LABEL ! 2+ 6 DUP LAST-FIELD I
CUR-FIELD ! ;
•>
SCR # 8
( ASCII-CHARS 681284AAH)
1 : ASCII-CHARS ( key — ..handle ascii input)
2 DUP 127 = IF ( is it rubout?)
3 DROP CUR-POS § LOWLIM § = IF ( left edge?)
4 BELL
5 ELSE CUR-POS § DUP 1- CUR-POS I
6 BL SWAP C!
7 BS BLANKING-CHAR EMIT BS ( 'rubout* last char)
6 THEN
9 ELSE
10 CUR-POS § UPLIM g = IF ( right edge of field?)
11 BELL DROP
12 ELSE DUP CUR-POS § DUP 1+ CUR-POS I
13 C! EMIT
14 THEN THEN ;
15 — >
SCR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FIELD & START-0F-F0RM 081284AAH)
FIELD ( row col #chars — .. define a field.)
CREATE ( create the header for the new word)
HERE LAST-FIELD § , LAST-FIELD ! ( link to prev fields)
DUP >R , , , ( store maxsize, row & column)
HERE R> ALLOT ( make room in diet for answer)
D0ES> 2+ DUP § SWAP 6 + SWAP ; ( leaves field adr & size)
START-0F-F0RM ( create a form)
CREATE ( create the header for the new word)
LAST-FIELD ! LAST-LABEL ! ( init links)
0,0, ( the link fields for" a given form)
D0ES> ( run-time execution)
CUR-FORM ! RESET ; ( designate this form as current)
->
SCR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 9
CTRL-CHARS & FILL-FORM 081284AAH)
CTRL-CHARS ( key — ..check for control functions)
CASE
01 ( CTRL-A) =: ABORT ;;
12 ( CTRL-L) =: ( move to previous field)
LAST-FIELD § NEW-FIELD ;;
13 ( CR ) =: ( move to next field)
CUR-FIELD § DUP LAST-FIELD ! § ?DUP IF NEW-FIELD THEN
18 ( CTRL-R) =: ( move to next field)
CUR-FIELD § DUP LAST-FIELD ! § ?DUP IF NEW-FIELD THEN
CASEND ;
FILL-FORM ( now get user entry)
BEGIN KEY DUP BL < IF CTRL-CHARS
ELSE ASCII-CHARS THEN AGAIN ;
DOIT PAINT RESET CUR-FIELD § NEW-FIELD FILL-FORM :
;s
SCR #
(
1 :
2
3
4
5
6 :
7
8
9
10
11 -
12
13
14
15
PAINT-LABELS & NEW-FIELD 081284AAH)
PAINT-LABELS ( stgadr — ..paint labels till link=0)
DUP IF ( if 1st adr = 0, then leave early)
BEGIN DUP >R 2+ § R§ 4+ § GOTOCR ( point to label)
Re 6 + COUNT TYPE ( print the label)
R> § DUP 0= UNTIL DROP THEN ;
NEW-FIELD ( adr — ..move to new field)
DUP CUR-FIELD ! ( set current field)
DUP 4+ DUP § OVER 2+ @ GOTOCR ( move cursor)
4+ DUP LOWLIM ! DUP CUR-POS ! ( set lowlimit, cursorpos)
SWAP 2+ § + UPLIM ! ; (and upperlimit)
>
SCR
#
10
(
An
example of a form)
1
START-0F-F0RM EPSON
2
6
30
LABEL T3LBL TAB3:
3
6
36
4 FIELD TAB3
4
6
15
LABEL T2LBL TAB2:
5
6
21
4 FIELD TAB2
6
6
I
LABEL T1LBL TAB1 :
7
6
6 J
4 FIELD TAB1
8
5
30
LABEL CHLBL CHAR-SIZE:
9
5
40
5 FIELD CHSZ
10
5
I
LABEL LSLBL LINE-SPACING
11
5
15
5 FIELD LSPACE
12
END-l
DF-F0RM
13
;s
14
15
(continued next page)
Micro Cornucopia, Number 20, October 1984
39
FORTHWORDS (continued)*
where the entry fields are located or their
length.
Many terminals permit reverse video,
and for these I recommend using a re-
verse video blank as the blanking charac-
ter. Others, like the Big Board I, have no
video attributes. The underline character
is a good choice as the character stored in
BLANKING-CHAR for primitive video
terminals.
PAINT is the form-painting word. It
uses the current form, and after clearing
the screen, displays all labels and fills all
fields with the blanking character. Note
that PAINT also has to perform one non-
screen function: it fills every FIELD buff-
er with blanks to remove any previous
garbage.
Filling the Form
Now we come to the hard part, the us-
er text entry. The text entry word, FILL-
FORM (shown in the accompanying scr-
een), is really not sufficient for anything
more than to demonstrate the technique.
Users are notoriously bad typists and-
generally know little about computers. If
your form is to be used in a commercial
product, you must protect against every
possible entry error. In addition, many
systems require data validation, a sub-
ject more complex than I care to discuss
in this column.
FILL-FORM is the main entry word.
You will note that it is one BEGIN-
AGAIN loop, terminated by a CTRL-A
(stands for Abort). .
Each key press is subjected to a variety
of tests. Here I've used the CASE con-
struct from UNIFORTH, but any other
CASE statement can be used or even
nested IF's if you wish.
The first set of checks is for any control
character. The ones I've implemented
are in Figure 1.
Figure 1 - Control Characters
CTRL-R (move to next field)
CTRL-L (move to previous field)
CTRL-A (abort)
<CR> (move to next field)
If a control character isn't detected,
then the program assumes that the
pressed key was for data entry. Two spe-
cial variables are set for the current field:
LOWLIM is the starting buffer address
40
for the field, and UPLIM is the ending
address. These delimiters prevent data
entry outside of the current field.
"Delete" or "Rubout" is used for back-
space operations. If a delete is detected,
the last entered character is replaced by
the blanking character on the screen and
by a blank in the buffer. CUR-POS
(CURrent POSition) is decremented.
However, if CUR-POS is already at
LOWLIM, the backspace operation is ig-
nored and a bell sounded.
The other limit occurs when the user
attempts to enter more characters than
the width of the field. In this case, the
character is ignored and a bell sounded.
The only ways to move to the next field
are with CTRL-R or with CR. You might
want to implement "wraparound,"
where the program automatically moves
to the next field when the current one is
filled.
Parsing the Form
Well, all the data is entered but you've
got to move it out of the form buffer into
your database. Good luck! I leave this
section for you to implement (what's the
use of a lesson if you have no problems
left?).
Of course, ASCII strings are easy. You
may wish to use -TRAILING to truncate
entered strings and then store them as
packed strings (character count byte pre-
ceding the text), or just have a fixed
length field and use CMOVE.
Numeric data is a little more trouble. A
simple solution is to move the string to
HERE or HERE +2 (wherever WORD
normally leaves its string), add a trailing
blank and then use NUMBER to convert
the string into a numeric quantity.
Extensions
This has been a brief introduction into
Forms Generation, and, of course, the
example can be extended!
For example, only one page per form is
implemented. By adding an extra pa-
rameter to FIELD and LABEL you can
specify the page to which they belong.
Other cursor controls such as up and
down could be implemented. The key-
board cursor keys could be used instead
of CTRL-L or CTRL-R. Redisplay for
multiple forms entry should be one of
your first improvements. Data validation
can also be added. However, I think that
you will find the use of forms a valuable
addition to your FORTH system.
Next Issue
Several readers have inquired about
cross-compilation and other turnkey ap-
plications, so I plan to enlighten folks on
the subject. Don't forget that the FIG Na-
tional Convention is coming up near the
end of October, and the FORML confer-
ence shortly thereafter. Until next time,
keep the FORTH!
CP/M 2.2 LICENSE AND SUPPORT
CP/M 2.2 License and disk for Scull-Tek Big Board $95.00
Reconfiguration of above for BBI, Xerox 820 8" SSSD, or Xerox 820 5 1 /4" SSSD $10.00
CP/M Manuals $20.00
SWP dual density board $149.00
SWP dual density board with CP/M $225.00
XEROX 820 board (used, tested good) with CP/M $250.00
Other CP/M configurations, Custom ROMs, and consultation on CP/M are available.
CP/M Public Domain Software - We have CPMUG, RCPM and SIGM disks
for $5.00 each on Wabash 8" SSSD. 10 disks with catalogs and abstracts on
them for $50.00. Write for quote on entire collection.
Wabash 8 inch SSSD diskettes 10 for $30.00
Wabash 5 1 A inch SSSD diskettes 10 for $28.00
Line Check Board for RS-232-C (Inserted into the line it will monitor the
seven commonly used signals.) PC Board - $7.00; PC Board and parts kit -
$21.00; Assembled and tested - $26.00.
"^ Call or write tor catalog which describes the above and other items in more detail.
Add $2 shipping to all orders. Illinois residents
add 6% sales tax. Mastercard, Visa. CP/M is a
trademark of Digital Research, Inc.
KULCQX ■ ENTERPRISES
P.O. BOX 395 • NAUVOO, ILLINOIS 62354
(217)453-2345
Micro Cornucopia, Number 20, October 1984
CALENDAR/CLOCK
$69. 00 KIT
: ANNOUNCING
APPLICATION USERS GROUP DISKS!
USES NATIONAL MM58167 CLOCK CHIP,
AS FEATURED IN MAY '82 BYTE.
WORKS WITH ANY Z-80 BASED COMPU-
TER WITH CLK <5.5 MHZ.
PIGGYBACKS IN Z80 SOCKET
INSTALLATION <5 MIN.
KEEPS TIME FROM MONTHS TO 10,000
THSOF A SECOND.
BATTERY BACKUP KEEPS TIME W/
POWER OFF!
i BATTERIES ARE AVAILABLE AT RADIO
SHACK STORES.
EASY TO USE SOFTWARE INCLUDED TO
SET AND READ THE CLOCK IN BDS C,
JRT PASCAL. TURBO PASCAL, AND
MICROSOFT BASIC.
ALL SOURCE CODE IS INCLUDED!!
SOFTWARE IS AVAILABLE ON 8" SSSD,
5" XEROX 820, KAYPRO 2. OSBORNE,
NORTHSTAR, CROMEMCO, AND APPLE
DISKS AND OVER A MODEM FOR OTHER
COMPUTERS.
PACKAGES AVAILABLE:
FULLY ASSEMBLED AND TESTED $99
COMPLETE KIT $69
BARE BOARD AND SOFTWARE $29
EXTENDER CABLE OPTION $14
(FOR NON-PIGGYBACK INSTALLATION)
USERS GROUP DISK $20
(FREE WITH ACCEPTED ENTRY)
SHIPPINGS HANDLING $3
N.Y. STATE RESIDENTS ADD 7% SALES
TAX.
PERSONAL CHECKS. MONEY ORDERS,
PURCHASE ORDERS, AND C.O.D.'S
ACCEPTED.
KENMORE COMPUTER TECHNOLOGIES
20 Landers Road Kenmore. New York 1 42 1 7
(716)877-0617
ABLE II VT
INTELLIGENT STAND ALONE
VIDEO TERMINAL WITH
MANY HIGH END FEATURES
RT CLOCK
VIDEO ATTRIBUTES
ON-SCREEN SET-UP
* Easy Emulation * A Very Powerful Low Cost Terminal Board *
6502 CPU & 6845 Video Controller * 4K Control in 2732 EPROM
* Emulate or Customize with powerful download feature *
Custom programs and escape tables retained during power
down * Defaults to control ROM tables (H1 9 Compatible) when
not modified * Month to MSEC Real Time Clock; Display to Sec,
Transmit to MSEC * Reliable battery interface for clock and 2K
user RAM * Menu driven set-up * Powers up as previously
configured * History, for communcations analysis, displays last
256 video, escape and control char received * 2 Program/Menu
selectable RS-232 compatible ports, with Daisy Chain * 16
Program/Menu selectable baud rates (50 to 19,200) * TTL and
RS-232 level baud clock outputs * 6 Program/Menu selectable
bell tones * 9 Menu cursor selections (Box, underline, overline/
solid, blink fast or slow) * Menu selectable auto LF on CR
and/or Auto CR on LF or neither * Local, full duplex, simplex
operation * 80x50 video with 80x24 screen window * Up/Down
scroll with non-destruct mode * Transmit screen from top to
cursor * cursor home, forward, backward, up, down * Horz. tab *
full X-Y cursor control including save, restore and report cursor
* cursor on/off * clear screen, clear line, erase to end of screen,
to beginning of screen, to end of line, to beginning of line * Char
selectable, normal, inverse, blink and low intensity * 96 Upper
and Lower case with descenders * 32 interconnecting line/block
graphic set * type ahead buffer * 8 1 /2x11 silk screened, double
sided, glass-epoxy PC board * only uses easy to get parts *
requires parallel ASCII keyboard and standard composite video
monitor * made in U.S.A. *
Complete Kits Now Available — $224.95 —
(I.C. Sockets are Included)
Assembled and Tested Boards — $274.95—
(Allow 6 weeks deliver for kits or A&T)
Bare Board, Programmed Control
& Char. Gen EPROMS, Complete
Detailed Documentation Including
Schematice and Source Listing.
— $79.95 —
Complete Documentation — $10
(Refundable with purchase)
Will Accept MC, VISA & CHOICE
***CALL OR WRITE***
LINGER
ENTERPRISES, INC.
P.O. Box 5783
Newport News, VA 23605
804-244-3874
Add $2.50 shipping & handling
(VA residents add 4% tax)
Micro Cornucopia, Number 20, October 1984
41
The Cost Efficient
EPROM
Programmer
$995.00
COMPLETE
Dealer inquiries welcome.
DISPLAY:
• Bright 1 " high display system
• Progress indicated during
programming
• Error messages
KEYBOARD:
• Full travel entry keys
• Auto repeat
• Illuminated function indicators
INTERFACE:
• RS-232C for data transfer
• 110-19.2K baud
• X-on X-off control of serial data
FUNCTIONS:
• Fast and standard programming
algorithms
• Single key commands
• Search finds data strings up to
256 bytes long
• Electronic signatures for easy
data error I.D.
• "FF" skipping for max program-
ming speed
• User sets memory boundaries
• 15 commands including move,
edit, fill, search, etc. functions
• Extended mode reads EPROM
sets
Showp in test mode.
GENERAL:
• Stand alone operation, external
terminal not needed for full
command set
Total support
28 pin sockets
Faulty EPROMS indicated at
socket
Programs 1 to 128 K devices
Built in diagnostics
No calibration required
No personality modules to buy
Programs new CMOS EPROMS
Printer interface option
Complete with 128K buffer
FEATURES INCLUDE:
ALSO AVAILABLE FROM SCC:
The Cost Efficient Erasing Units
FIVE TIMES THE CAPACITY OF OTHER UNITS, FOR LESS THAN $200!
Three Models Available:
EU-156. ..over 150 chips
$195.00
EU-312...over 300 chips
$359.95
EU-1 050... over 1000 chips
(EPROM or Micro Computer)
CALL!
• Unique wave design
• Efficient bulb design
• All-steel, heavy duty design
• Quick erasure time
• Efficient
• Reliable
• Safe
• Affordable and economical
• Portable, easy to use
• EPROMS
• Micro computer
• Industrial design
• Production environment ready
• Timer included
QUICK DELIVERY ON ALL PRODUCTS!
FOR FURTHER INFORMATION ON SCCs
COST EFFICIENT PROGRAMMERS AND ERASING UNITS CALL
SOUTHERN COMPUTER CORPORATION
3720 N. Stratford Rd., Atlanta, GA 30342, 404-231-5363
42
Micro Cornucopia, Number 20, October 1984
"BMON"
Software In-Clrcuit Emulator
Links your CP/M computer with any
Z80 based computer or controller that
you may develop. All that is needed is
BMON, 12K or rom space, and a hand-
shakeable bi-directable I/O port (either
RS232 or Parallel).
Features:
—Full program development debugger
with Breakpoints, Snaps, Stops, &
Waits.
—Single Step program execution.
— Download file from CP/M system to
development Ram.
—Upload Memory from development
RAM to CP/M disk.
— Two versions: Master BMON runs in
your CP/M system, Slave BMON runs
in your target system.
Note: Requires Microsoft's M80 & L80
assembler & linker to setup Slave
BMON.
8" SSSD Disk containing Master
BMON, Slave BMON, CONSOL,
BMONIO, CONSOLIO, and Users
Manual $49.95
Shipped Via prepaid UPS
—No COD or P.O. Box-
Check or Money Order to:
Barnes Research & Development
750 W. Ventura St.
Altadena, CA 91101
(818) 794-1244
CP/M is a trademark of Digital Research Inc.
M80 & L80 are trademarks of Microsoft Inc.
FOR SALE
SA800-2 DISK DRIVE SSDD 'AS IS 1 $59.00
SA800-2 DISK DRIVE SSDD GUARANTEED 60 DAYS $89.00
SA850 DISK DRIVE DSDD GUARANTEED 60 DAYS $199.00
SWITCHING POWER SUPPLY
+5VDC @ 8A
-5VDC @ .5A
+12VDC @ ,5A
-12VDC @ .5A
+24VDC @ 2 A
+5VDC @ 20A
-5VDC @ ,5A
+12VDC @ 2.5A
-12VDC @ .5A
+24VDC @ 2A
YOUR PICK
+5VDC @ 20A
-5VDC @ .5A
+12VDC @ 2.5A
-12VDC <§ .5A
$60.00
KEYBOARD BY MICROSWITCH
113 HALL EFFECT KEYS 8 BIT ASCII OUTPUT
WITH CASE AND COMPLETE DOCUMENTATION $40.00
DYSAN DISKETTES
8" SSSD Box 10 $34.00
8" SSDD Box 10 $38.00
8" DSDD Box 10 $45.00
5V Price upon Reqest
CASCADE ELECTRONICS
FREE ROUTE 1 BOX 8
SHIPPING RANDOLPH, MN 5 5 065
507-645-7997
FREE
SHIPPING
MN ADD 6% Sales Tax Credit Card ADD 5% COD ADD $2.
LIMITED TO STOCK ON HAND EVENING CALLS PREFERED '
PARTS FOR SALE
SA800 Head $10.00
SA800 Stepper $10.00
SA850 Head & Stepper
$60.00
SA850 Head & Stepper
NEW $75.00
Shugart AC Drive Motor
230 Volt 50Hz $20.00
115 Volt 60Hz $35.00
SA850 Door Assy. $25.00
SA850 Head Load Assy
$20.00
FREE SHIPPING ON ORDERS
OVER $50.00
CASCADE ELECTRONICS
ROUTE 1 BOX 8
RANDPLOH, MN 55065
507-645-7997
COD ADD $2.00
Credit Card ADD 5%
MN ADD 6% Sales Tax
EVENING CALLS PREFERED
LIMITED TO STOCK ON HAND
HARDWARE SPOOLER and INTERFACE CONVERTER
* 128 K PRINT BUFFER
* CENTRONICS OR SERIAL
INPUT/OUTPUT
* MULTIPLE PROTOCOLS
* 5% X V/2 INCH BOARD
* + 5 Volts at .5 Amp
± 12 Volts at .1 Amp
The L-BAND SYSTEMS hardware spooler is a Z80 based unit that
provides a 128 K byte print buffer and interface conversion between
Centronics and serial. Input and output may be either parallel or serial at
various baud rates and with several protocols. Multiple copy and single
sheet feed are supported.
BARE BOARD $ 29.95
PROGRAMMED ROM (2732) 10.95
DISK with program source 1 0.95
MINI KIT board, rom, headers, crystals 59.95
PARTIAL KIT all parts EXCEPT RAMS 109.95
ASSEMBLED and TESTED BOARD (128 K) 259.95
WALL MOUNT POWER SUPPLY 39.95
California Orders Add 6.5% Sales Tax
Shipped via UPS — Check or Money Orders to:
L-BAND SYSTEMS
1037 E. Lemon Ave.
Monrovia, CA 91016
(818) 357-0566
Micro Cornucopia, Number 20, October 1984
43
C'ing Clearly
By Tony Ozrelic
Micro C Staff
Living almost rent-free can be a bit of
a mixed blessing. Sometimes the land-
lord requires a "little" help in return,
and in this case, his travel club needed a
simple mailing list. Prompted by the
gentle urgings of my wife (she runs the
club for him), I decided to help out.
A Little Simplicity Goes A Long Way
I found an easy way to fulfill my chore
by making the list-entry and printing
formats compatible with the editor we
already use for word processing and oth-
er office chores. Then all I had to write
was a program for sorting and printing
the list.
I called each line a record, with a tab
separating each of the individual fields
such as name, address, zip, etc. This
made list entry simple for anybody fa-
miliar with the editor. By changing the
printing format with another text file,
form letters or special labels could be
done just by re-editing the format file.
Making It Work
So, what I wound up with was a pro-
gram called sort, c which used two files as
input: the mailing list proper, and the
format file which controls the printing.
The only special things about these two
files are the first line in each: the mailing
list has as its first line (or record) the
names of each of the fields in each rec-
ord, separated by a tab. The format file
has as its first line the names of the fields
by which the mailing list is to be sorted.
For instance, the mailing list might look
like Figure 1.
After sort opens the list and format
files, it reads the first line of the list and
stores the field names separately for later
reference. Then it reads the first line of
Figure 1 - Sample Data Fields
the format file to determine which fields
to sort on and how to print the list. The
format file might look like Figure 2.
This file says that we are going to sort
the list by zip code first, then state, and
finally by the last name. Each record in
the file will be printed with a blank line,
first name followed by the last, the ad-
dress, city, state, and zip code. Next
comes another blank line and a line
prompting the post office to send a
change of address. The vertical bar tells
sort to replace the field name following it
with the contents of the record's field
and the backslash tells sort to replace the
digit string following it with the equiva-
lent ASCII character; in this case, the
"backslash 14" tells my printer to print in
enhanced mode, highlighting the zip
and address correction info.
Anyway, after the names of all the
fields are stored, we then look at the first
line of the format file to get the names of
the fields to be sorted. The indices of
these fields are used to extract the con-
tents of the fields and store them, along
with the position of the record in the file,
in RAM. Then the file is sorted and print-
ed.
Make Room
Of course, there's always room for im-
provement, and this program is no ex-
ception.
On the input side, the field definitions
might be improved so that the user can
define his own separators between
fields; this would allow better use of the
80 character rows on a video screen.
On the output side, such things as
centering, right or left justification, and
more flexible record selection would be
helpful.
frstnm
lstnme address
city
state
zip
phone
Tony
Ozrelic 6708 Melrose
Los Angeles
CA
90038
213/932-0817
Bob
Jones 123 Oak St.
Kansas City
KN
12345
Figure 2 - Sample Printout
zip state last name
I frstnm llstnme
! address
Icity I state \14izip
\14 •• DO NOT FORWARD - ADDRESS CORRECTION REQUESTED ••
As it stands, we print the entire file ev-
ery time we run the program. It would be
nice to specify certain records based on
some sort of logical expression, such as,
"give me all the phone numbers of peo-
ple living within the zip codes 8000 to
9000." It would be nice too if we had
some way of handling very large files
without breaking the program.
In its ultimate form, sort.c should
probably be broken into three software
tools: the data entry editor, which ac-
cepts as input the data file and a "screen
specification" file that makes up a spiffy
screen display for the user to enter data
into, an indexer, which takes the data
and a "sort and select" file to order and
cull unwanted records, and a report gen-
erator, which takes the index generated
by the indexer and a "report generator"
file to collect and print the data. Of
course, you could roll the whole thing
into one huge program too (give it some
cute name like "cBASE-II") and sell it for
$39.95! Just remember where you got the
idea.
One Giant Leap For Micro C
When we (Becky, the kids, and I) visit-
ed Micro C's 1983 SOG last year, we
found ourselves liking Bend very much.
When I found out that Eric had to leave
this year, I offered to pick up the ball.
(Co-editor's note: Yep, I decided to embark on
a full-time teaching career at the local com-
munity college so this will probably be my last
issue. It's been fun and I'm gonna miss the
madhouse here. We're very lucky to get Tony;
he and Becky will more than fill my shoes.)
I have had some fun doing this col-
umn, but I have found the requests for
source code from these columns are be-
coming a bit much. In order to alleviate
the problem, I am now offering the
source as well as the .COM files for ALL
the programs that have appeared in this
column (or as many as I can find and will
fit on the disk) on 8" SSSD or 5" Kaypro
formats for twenty bucks.
If there's room, I'll throw a few in that
haven't appeared in the column. Just
send me a check or money order and
specify which size disk you want. Send
your order to Tony Ozrelic, PO Box 5246,
Bend OR, 97708. If you have any ques-
tions or comments, please send them al-
so to the above address.
44
Micro Cornucopia, Number 20, October 1984
Sort Routine In C
/•
sort - sort mailing list and print names
•/
Written by Tony Ozrelic and compiled with the Manx Aztec C compiler
use sort like this:
sort (records) (format) >lst:
where (records) is the file to be sorted, one record to a line.
The first record contains the names of each field within a record.
For instance, a mailing list might have the following fields:
firstname
lastname
address city state zip
Fields are separated by a tab (see the FIELDSEP character), and may
contain spaces, numbers, etc., anything but a tab character,
the (format) file shows sort. c how to sort the (records) and
print them. The first line of the file shows the fields to be
sorted and the rest of the file shows how the records are to be
printed. For instance, to print labels sorted by zip code and last
name, we might use the following lines:
zip lastname
! firstname {lastname
j address
icity ,'state MHizip
\1i» •• IF UNDELIVEBABLE, PLEASE DO NOT RETURN «•
The first line says to sort by zip and last name. The second line
says to pull the firstname and lastname fields out of the record and
print them. Ditto with the address, city, state, and zip fields.
The \14 says to send an ascii char with a decimal value of 14 to the
printer; my printer interprets this a3 a command to print the rest of
the line in emphasized text. The same holds tru for the sixth line,
but no fields are selected.
Printing is accomplished by using the >lst: command to redirect the
output of sort to CP/M's 1st: device. If you want to see the records
on the console, omit the >lst:. If you want the records put in
another file, use >( filename) , where (filename) is the name of the
file, e.g., >labels.dat
#include
tfdefine MAXLINE
^define MAXFIELD
#define MAXREC
^define streq
#define FIELDSEP
"libc.h"
132 /• max chars per record (line) •/
10 /• max fields per record •/
1000 /• max records we can sort */
Istrcmp /• def for string equality function •/
»\t' /• field separator for records •/
/• names of fields stored here •/
/* number of lines (records) read •/
char fnames[MAXFIELD][MAXLINE];
int nlines;
/»
the rec structure keeps a pointer to the sort field and the file
position for each record
V
struct {
char *field;
long infile;
} rec[MAXRECj;
main(argc,argv)
int argc;
char •argv[];
{
char c,*sp;
char s[MAXLINE],s1 [MAXLINE];
int sfield[MAXFIELD];
int i, j,done, # lp;
FILE «sfile,»ffile;
open the file to be sorted and the print format file
if((sfile=fopen(argv[1], n r"))==NULL) cantopen(argv[1]);
if((ffile=fopen(argv[2], n r B ))==NULL) cantopen(argv[2]);
/•
•/
/•
(continued next page)
256K
RAMDISK
KIT
Now Only
$5995
■ dynaDlsk makes your spelling
checker, assembler, or compiler
programs run 35-300 percent
faster.
■ dynaDlsk is a 256k ram board
that uses 5V at VfeA and plugs into
BB1's parallel interface (J5). It
comes with auto-patching soft-
ware that makes it look like an 8"
SS SD disk drive to CP/M. It uses
4164 ram chips, regular TTL, and
transfers data 8-10 times faster
than a regular floppy. See Micro
C #9 for a description and MC #11
for a review of dynaDlsk.
For *59 95 You Get:
8W by 6 1 A" bare PC board
Software on 8" SS SD floppy
(SOURCE INCLUDED)
Assembly & Operation Manual
Bare Board Only: $ 39 95
820 OWNERS
820-11 OWNERS
■ Your hardware will work with
minor modifications. Software
patches are included in the man-
ual for 820-1 1 owners. See MC #1 7
for info on adapting Dyna to the
Xerox 820.
ALL ORDERS: Please add $5.00 for
postage and handling. All orders shipped
first class. Satisfaction guaranteed.
Please, no COD's, PO's, or plastic money.
QUANTITY PURCHASES: Buy five of
one item at one time and get one free! Buy
ten, get two free, etc.
Send check or money order to:
P.O. Box 5246
Bend, Oregon
L.A. SoftWare 503/389-3452
CA residents add sales tax
CP/ M is a trademark of Digital Research
Prices and specifications subject to change without notice
Micro Cornucopia, Number 20, October 1984
45
FREE EPROM!*
When you purchase our EP-1
or EP-2 Eprom programmer for
your Kapro II or IV. We feel that
our programmer is the best in its
price range. Introductory price
for the EP-1 is just $99.95 plus
$5.00 shipping and handling.
Here are just some of the
features of our programmers:
• Easy to use menu driven soft-
ware
• Programs 25/271 6, 25/2732
and 2764 Eproms
• Once installed, programmers
need not to be removed and
do not interfere with Kaypro
operation
• Store and retrieve files on
drive A or B
• True Eprom burn verification
• Includes program diskandfull
documentation
Please write or call for additional
information including our new
flyer and voice synthesizer!
Write or call:
Busch Computers
447 Blohm Street
West Haven, Ct. 06516
Phone: (203) 933-9383
*271 6 first 500 orders
Conn, residents add 7'/2% Sales Tax
nIC\
CHECK OUT THESE PRICES!!
ACCESSORIES
FOR YOUR COMPUTER
DISK STORAGE BOX — Holds 50
-5 1 /4" disks. Plastic with Smoke self-
lock, see-thru cover. — $15.95 ppd.
PRINTER STAND — Metal, putty
color. 80col. printers — $18.95 ppd.
FOR YOUR KAYPRO
NEW ITEM!! — KEYBORDERS —
Keep those important commands at
your fingertips! KEYBORDERS are
durable, plastic laminated overlays
for your KAYPRO Keyboard. CP/M,
BASIC, Perfect Writer, Calc, Filer
available now. Coming soon —
WordStar, dBase II —
$4.95 each ppd.
DEALER INQUIRIES INVITED
Call or send for our Mini-Catalog of
KAYPRO Programs.
THE FINE PRINT — KAYPRO'" Kaypro Corp.
CP/M T " Digital Research. Perfect Writer™ Per-
fect Software, Inc. WordStar™ MicroPro Int'l.
dBase II™ Ashton-Tate. PA Res. add 6% Tax.
—We Ship within 3 days for Visa, M/C or
Money Order. — Allow2 wks. for Pers. Checks.
KOMPUTERWERK
851 Parkview Blvd.
Pittsburgh, PA 1521 5_ .
(412) 782-0384
C'/NG CLE A RL Y (continued)
C Listing Continued
•/
/«
•/
/•
•/
/•
•/
/•
»/
/•
»/
/«
read in the names of each field and store them
these names are in the first record of the file
fgets(s,MAXLINE, sfile);
fprintf( stderr, "Fields: \n?s\n",s);
for(i=0;i<MAXFIELD;i++) {
strcpy(fnames[i],field(i,s));
if(fnames[i][0]=='\0') break;
}
now get the names of the fields to be sorted from the first line of
the format file, store which fields to select in sfield[]
fgets(s,MAXLINE,ffile);
fprintf( stderr, "Sorted By:\njs\n",s) ;
for(i=0;i<MAXFIELD;i++) {
sfield[i]=whichf(field(i,s),fnames);
if(sfield[i]==-1) break;
}
select and store the fields for sorting
fputs( "Reading File\n",stderr);
nlines=0;
whileO) {
rec[nlines].infile=ftell(sfile); /• save pointer to record */
if(fgets(s,MAXLINE,sfile)==NULL) break;
putc( '. ' ,stderr); /• show user we're going */
•/
store sort string in memory and pointer in rec[]. field
for(i=0,*s1='\0 , ;sfield[i]!=-1;i-M-)
strcat(s1,field(sfield[i] f s));
if((sp=alloc(strlen(s1)+1))==NULL) {
puts( n 0ut of string space");
exit(1);
}
strcpy(sp,s1 );
rec[ nlines ] . f ield=sp ;
nlines-M-;
}
fprintf( stderr, "\n$d records in file\n", nlines);
sort the records according to the fields stored
f puts ( "\nSorting\n" , stderr ) ;
shell (nlines);
and print them according to the format file
f puts ( " \nPrinting\n" , stderr ) ;
ptext( nlines, sfile, f file);
clean up and exit
f close ( sfile);
fclpse(ffile);
} \
field - return pointer to nth field selected from string s
•/
field(n,s)
int n;
char *s;
{
static char f[MAXLINE],«fp;
register int cf;
cf=0;fp=f;
while(«s!='\n») {
if(cf==n) break;
if(«s++==FIELDSEP) cf++;
}
while(«sl=FIELDSEP && «s!r»\n») »fp++=»s++;
*fp='\0»;
return f;
}
Micro Cornucopia, Number 20, October 1984
C Listing Continued
/«
whlchf - return index # of matching field name, else return -1 */
whichf (a, names)
char »s,names[MAXFIELD][MAXLINE];
{
register int i;
if(*s=='\0') return -1;
for(i=0;i<MAXFIELD;i++) {
ifCnamesCiiss'VO') return -1;
lf( lstrncmp(s, names[i],strlen(names[i]))) return i;
}
return -1 ;
}
/«
ptext - output text lines from linbuf using format file
•/
ptextC nlines, tfile, pf ile)
int nlines;
FILE «tfile,«pfile;
{
char s[MAXLINE],s1[MAXLINE];
int i;
{
static char *t1 ;
static int gap,l,J;
static long t2;
for(gap*n/2;gap>0;gap/=2) {
for(i=gap;l<n;i++) {
for(J=i-gap;J>=0;J-rgap) {
If(strcnp(rec[j].fleld,rec[j+gap].fleld)<=0)
break;
t1=rec[J]. field;
rec[J].fleldrrec[J+gap]. field;
rec[J+gap].field=t1 ;
t2=rec[J].inflle;
ree[j].inflle=reo[J+gap].infile;
re c [ J+gap ] . inf 11 e= t2 ;
}
}
/* cantopen - complain about file opening
cantopen(s)
char •s;
{
prlntfC "Can't Open: Js\n",s);
exlt(1);
}
•/
/•
for(i=0;i<nlines;i++) {
putc('. ',stderr);
fseek( tfile, rec[i]. inf ile,0);
fseek(pfile,(long) 0,0);
f gets (3, MAXLINE, tfile);
fgets(s1, MAXLINE, pf ile);
while(fgets(s1 .MAXLINE, pfile)!=NULL) /• print record V
prec(s,s1);
}
}
prec - print record according to format in print file
/* seek record */
/• rewind format file •/
/• get record */
/• skip 1st line of fmt file »/
•/
prec(ts,ps)
char 'ts.'ps;
{
int i;
/•
«/
scan thru print format string, looking for !'s and \'s. Print what
you can from the format string
while(«ps) {
/•
a ! means, "replace the name of the following field with the
contents of the field in the record"
•/
if(*ps==»|») {
if ((i=whichf(ps+1,f names ))!=-1) {
printf("*s",field(i,ts));
ps+=strlen(fnames[i])+1 ;
}
else putchar( # ps++) ;
}
/• else Just print the char */
/•
a \ means, "take the following digit and convert into an ascli
char and send it to the printer"
•/
else ifC'psss'W) {
if(isdigit(»(ps+1))) {
putchar(atoi(++ps) ) ;
while(isdigit(*ps)) ps++; /• skip digit strg •/
}
else putchar(*ps++) ;
}
else putcharC^ps-M-) ;
}
shell - shell sort for character lines, stolen from K+R
•/
shell (n)
int n;
NOW FOR XEROX 820
BB & BBII
LOW COST
DISK CONTROLLER
SAVE WEAR AND TEAR ON YOUR DISK DRIVES
AND FLOPPIES WITH THE MODEL 3801 ALL
SOLID STATE RELAY. SMALL ENOUGH TO FIT
EASILY INSIDE YOUR DISK DRIVE, THE 3801
CAN BE INSTALLED IN MINUTES. YOUR BIG
BOARD WILL THEN TURN YOUR DRIVES ON AND
OFF AUTOMATICALLY AS THEY ARE NEEDED.
- FEATURES -
SMALL SIZE - 1.75 X 1.40 X
0.35
FAST INSTALLATION - DIAGRAM
INCLUDED
ZERO CROSSING - ELIMINATES
ALL SWITCHING NOISE
TRIAC OUTPUT - NO MECHANICAL
PARTS
DVDT FILTER - INCLUDED
LOW COST - ONLY $8.80 EACH
1 YEAR WARRANTY
30 DAY MONEY BACK GUARANTEE
COMPANY OF CALIFORNIA
1619 SOUTH MINNIE STREET
SANTA ANA, CALIFORNIA 92707
(714) 547-4316
CALIF. RES. ADD 6% SALES TAX
ADD $1.00 EA. POSTAGE & HANDLING
PLEASE SPECIFY BBI, BBII OR XEROX
Micro Cornucopia, Number 20, October 1984
47
Xerox 820 Column
By Mitchell Mlinar
1013 W 210th
Torrance Ca 90502
Nearly everyone who has upgraded
their monitor ROM for the Xerox 820-1
has also included a real-time clock in the
software. However, if you have not done
so, read further for more information. By
the way, 820-11 has the real-time clock
software built into ROM.
The clock can be very useful as long as
it is set properly. Even though clock set-
ting routines exist for the 820-11 and are
resident in my 820-1 SWP dual density
upgrade, how often can you claim you
set the time AND date before getting
down to business?
The Hardware
This little package will cost you about
$15 and an hour or so of your time. It
uses your spare parallel ports so if you
are already using these, tough luck. Next
issue, I will describe a Z80 extension bus
for the 820 which includes a real-time
clock module among other things.
If you feel squeemish about assembly,
you could purchase one of the packages
sold in Micro C. I counted four ads for
clock/calendar boards in the last issue. If
I have any preference, it is to those that
include source code so that they can be
integrated into your monitor or BIOS.
See Figure 1 for the schematic. Special
parts you will have to order include the
MSM5832 clock/calendar chip, a 32,768
Hz crystal, and a 40-pin IDS (Insulation
Displacement Socket). I recommend
purchasing the IDS with at least 6" of
ribbon cable already attached; about $10
should cover all of the above. The re-
maining hardware (including the 3v lith-
ium battery) can be found at any local
place (even Radio Shack).
Installation
1. Assemble the components on a 1.5
by 2 inch piece of vector board. I strongly
recommend purchasing an 18-pin socket
so you don't accidentally torch the timer
chip with your soldering iron.
Be EXTREMELY careful with the crys-
tal, the leads are very tiny and easily
ripped out (and too much heat will ruin
it). The crystal should be the last compo-
nent soldered to the board. Set the trim-
mer capacitor (C3) to midrange.
2. Add 12" of small-guage wire (#20-
#26) for the +5V, ground, battery plus,
battery minus, and direction select
leads.
3. Carefully pull apart the ribbon cable
(connected to the 40-pin socket), sepa-
rating the required leads from the un-
needed ones. Tie the unused ones off to
one side. Solder the wires from the sock-
et to the clock circuit card leaving about
Figure 2 - Board Location
CLOCK/CALENDAR CARD
Figure 7 - Real Time Clock Circuit
(PA6) J8-I8O
(PA 5) J8-I6 O
(PA0) J8- 6 O
(PAD J8-8 o
(PA2) J8-I0O
(PA3) J8-I2
J8-4D>
(A READY)
(PAT) J8-20O
35V
+ 5V
3V LITHIUM BATTERY
O J8-I4(PA4)
32768Hz
CRYSTAL
<C]J8-32(PB3)
<GJ8-30(PB2)
O J8-28(PB1)
<3
<Q J8-26(PB0)
-O 0M-6
PORT B
LOWER DIRECTION
4" of wire between the IDS and the card.
AFTER you have checked your wiring,
cut the unused wires as close as possible
to the socket. Solder the battery leads to
the battery as quickly as possible to mini-
mize battery heating.
4. Plug in the MSM5832 chip. Install
the circuit with your IDS oriented prop-
erly (Figure 2) and plug into J8. Solder
the +5v line to the high side of R57, the
side closest to Jll. Connect the direction
lead to Jll-6. Ground can be obtained
fromJH-13.
5. Tape the battery to the power sup-
ply cardboard protector. Roll up the cir-
cuit card as much as possible into the
IDC cable and tape it; make sure there
are no exposed leads which could touch
anything on the 820 mother board or
case. (This may seem somewhat unpro-
fessional, but is does the job without
48
Micro Cornucopia, Number 20, October 1984
need for special mounting hardware.
The circuit is so light, there is no prob-
lem.)
6. Setup Jll as shown in Figure 3.
Figure 3 - J11 Jumper Table
Jumper
7-8
9-10
17-18
5-6
Comments
Jumper
Jumper
Jumper
Remove
Once you have the circuit installed
and the board running, you will proba-
bly have to make some minor adjust-
ments to the trimmer capacitor until the
board keeps accurate time.
Figure 4 - PIO Bit Assignments
PIO bit
MSM5832 Line
Comments
PAO
A0
Address line
PA1
A1
Address line 1
PA2
A2
Address line 2
PA3
A3
Address line 3
PA4
HOLD
Active high
PA5
READ
Active high
PA6
WRITE
Active high
PA7
(PIO-B direction)
Set HIGH for read;
set LOW for write
(Leave HIGH when not in use)
PBO
DO
Data bit
PB1
D1
Data bit 1
PB2
D2
Data bit 2
PB3
D3
Data bit 3
has shown this to be nearer 3/4 second.
Figure 4 illustrates the PIO bit assign-
ment for this circuit.
2. Set the proper address lines in PAO -
PA3. Set the proper data on lines PBO -
PB3.
The Software
Describing the software which inte-
grates the MSM5832 with the Xerox is
difficult in this limited space, so I will just
include the essentials.
I have written SETCLK which reads
and sets the clock/calendar chip. To ob-
tain the SETCLK program (including
source) and the MSM5832 data sheets,
send me a letter along with your $10
check (Micro C also has the SET-
CLK. COM program available without
source).
For those who have SWP Dual Densi-
ty, I will also include the new monitor
and BIOS (with source) for a grand total
of $20. New features include screen
dump, IOBYTE, (with a Monitor resi-
dent LIST spooler to disk for QP/M on-
ly), QP/M compatibility, and 820-11 com-
patible keyboard mode (7/8 bit) and
video sequences (line/char insert/de-
lete).
If you have a single- density Xerox 820-
I, the disk with SETCLK, BIOS, and new
monitor source along with new monitor
ROMs (and installation instructions) is
available for $25 for 2.5 MHz machines
(unmodified 820-1) or $30 for 4 MHz ma-
chines. Write for more information.
Accessing MSM5832 chip is not trivial
since timing is important. The data sheet
specifies that the HOLD line should be
held high for a minimum of 150 uSec be-
fore chip I/O can begin.
The maximum length HOLD can be
high before the 5832 loses time is sup-
posed to be 1 second, but my experience
Xerox Parallel Port
Initializing the Xerox parallel port is
easy. Set GPIO-A control port (09H) to
0FH (output mode) followed by 07H to
disable interrupts. Set GPIO-B (port
0BH) to bit mode (2FH) followed by
0FFH so all bits are inputs.
During a chip read, nothing needs to
be changed. However, during a chip
write, GPIO-B should be set to bit mode
(2FH) followed by 0F0H to specify the
lower four bits as outputs. After the
write, restore GPIO-B to input mode to
be safe. Data for GPIO-A is at port 08H
and at 0AH for GPIO-B.
Clock Calendar Chip
There are 13 registers inside the
MSM5832 (see Figure 5).
Reading the MSM5832
1. Set the HOLD and PIO-B direction
lines high. Wait 150 uSec.
2. Set the proper address lines in PAO -
PA3.
3. Set the READ line high and input
the data (port 0AH). Set the READ line
low.
4. Repeat 2 through 4 as many times as
needed. I recommend reading the 13
registers as a stream and processing
them after step 5.
5. Set the HOLD line low.
Writing to the MSM5832
1. Set the HOLD line high and the
PIO-B direction bit low. Set GPIO-B
lower four bits for output mode. Wait 150
uSec.
3. Set the WRITE line high. Wait 4
uSec. Set the WRITE line low.
4. Repeat 2 and 3 as many times as
needed. Again, I recommend writing the
data as a stream.
5. Set the HOLD line low. Reset
GPIO-B to read. Set the PIO-B direction
bit high.
Using the Clock
Now that you have a real-time clock,
what good is it? Plenty, with the right
Figure 5 - Timer Chip Registers
Addr. Data Name
Range
Comments
Set to zero
regardless
of input
See note 1
0=Sun. 6=Sat
See note 2
Seconds low 0-9
1 Seconds high 0-5
2 Minutes low 0-9
3 Minutes high 0-5
H Hours low 0-9
5 Hours high 0-1/0-2
6 Day of week 0-6
7 Day low 0-9
8 Day high 0-3
9 Month low 0-9
10 Month high 0-1
11 Year low 0-9
12 Year high 0-9
Note 1 : Set D3 to 1 for 24 hour mode,
for 12 hour mode. In 12
hour mode, set D2 to for AM,
to 1 for PM.
Note 2: Set D2 to 1 for 29 days in Feb.
Internal register stays set
until a new write without D2
set or Feb. 29 is reached. It
does not otherwise recognize
leap years.
(continued next page)
Micro Cornucopia, Number 20, October 1984
49
XEROX*
(continued from page 49)
software. By the time you read this, a re-
placement for CP/M called QP/M will be
out of beta test (after 12 months of devel-
opment).
Among its many features are transpar-
ent time/date stamping of files, an appli-
cation that requires an accurate real-time
clock. Other features include user file
accessibility from all user areas, faster
disk I/O, and true backup capability (It
doesn't just set an archive bit, it actually
records the date of the last backup). All
this in the SAME size as the original CP/
M package!
Cost has not been set but likely to be
around $40 for Micro C subscribers.
I have run out of room this time. Those
of you who have written with questions,
be patient. I will try to answer all of
them. The most asked questions will be
answered here to help everyone under-
stand the Xerox computer a little better.
Powerful Single Board Computer
Includes CP/M Plus (3.0 banked)
$599
Assembled, Tested
Includes CP/M 3.0 on disk
with all manuals
Model MSC-ICO
All Features Fully Supported By CP/M Plus
• Z80A, 4 MHZ, No wait states
• 1 28Kb Banked RAM, 60Kb TPA
• 80 x 24 line high speed video
• Disk Controller (up to 4 drives)
8"SS/SD,DS/DD(1.2Mb)
5" SS/DD, DS/DD, QHD ( 1 .2Mb)
Use 5" and 8" simultaneously
Both 5" and 8" connectors built-in
• Two programmable RS232C ports
• Centronics printer port
• 1 6 bit TTL I/O port
• Parallel keyboard input port
• Clock calendar with battery backup
• Expansion bus for enhancements
• Requires only +5V 1 .2A, + - 1 2V 0. 1 A
MSC-ICO +5" QHD ( 1 .2 Mb) drive $975
Manufactured by:
Southern Pacific Limited, 1 -3-18 Santomi Bldg.
Tsurumichuo, Tsurumi, Yokohama, JAPAN 230
TEL: 045-50 1 -8842 TLX: 3822320 SPACIF J
USA Distributor:
ARTISOFT,lnc, 2450 East Speedway, Suite 4
Tucson, Arizona 857 1 9, TEL: (602) 327-4305
Run Out of Disk
Space on Your Xerox
820-1?
How About 784K on a
5W Drive?
UPGRADE YOUR 820-1 TO DOUBLE DENSITY KAYPRO
COMPATIBILITY, AND RUN 4 OR 5 MHZ WITH UP TO 4
DISK DRIVES, 8" AND 5 1 / 4 " AT THE SAME TIME!
X-8 ROM PACKAGE
5 MHZ 2732 ROM; 5 1 /4" DISK WITH FORMAT PROGRAM,
CUSTOM BIOS, AND INSTALLATION PROGRAMS; AND
MANUAL
- BANK SELECTED; CAN USE 63K OR 64K CP/M
- USES PARALLEL KEYBOARD AND HARDWARE
VIDEO SCROLL (FOR FAST SCREEN RESPONSE)
- SERIAL AND CENTRONICS PRINTER DRIVERS
-AUTO-BOOTS, READS, AND WRITES KAYPRO
FORMAT
KAYPRO II - 191 K ON SSDD, 40 TRACK, 5 1 A"
KAYPRO 4 - 360K ON DSDD, 40 TRACK, 5Va"
KAYPRO 8 - 784K ON DSDD, 80 TRACK, 5 1 /4"
- 98% SOFTWARE COMPATIBLE WITH KAYPRO II
X120 DOUBLE DENSITY CONTROLLER BOARD
DESIGNED SPECIFICALLY FOR THE XEROX 820-1
USING WD2791 OR WD2793 DISK CONTROLLER CHIP
WITH BUILT-IN DATA SEPARATOR
- CAN RUN 5 1 /4" AND 8" DRIVES AT THE SAME TIME
WITH STANDARD 34 AND 50 PIN DRIVE
CONNECTORS ON DAUGHTER BOARD
- MAINTAINS SIGNALS TO EXISTING 820 BOARD
CONNECTORS
- DECODED DRIVE SELECT LINES FOR FOUR DRIVES
- ENABLES PRECOMPENSATION SELECTION FOR 8"
OR 5 1 / 4 " DRIVES
- COMPOSITE VIDEO ADAPTOR ON BOARD
PRICING
- X-8 ROM PACKAGE . $ 49.95
-X1 20 BARE BOARD WITH DOCUMENTATION . $ 26.00
- X120 BOARD A&T WITH DOCUMENTATION . . . $140.00
-X-8 ROM PACKAGE AND X120 BARE BOARD . $ 72.00
- X-8 ROM PACKAGE AND X120 BOARD A&T . . . $180.00
CUSTOM CABINETS
- DESK TOP ENCLOSURE FOR TWO HORIZONTAL
MOUNTED FULL HEIGHT (FOUR HALF HEIGHT)
DRIVES, WITH SPACE FOR POWER SUPPLY AND
820 BOARD (OR OTHER SIMILAR BOARD)
- PORTABLE ENCLOSURE FOR DRIVES, KEYBOARD,
POWER SUPPLY, MONITOR, AND BOARD
INSTALLATION OF ROM AND BOARD REQUIRE A SMALL
NUMBER OF MODIFICATIONS TO YOUR 820 BOARD.
CONTROLLER BOARDS REQUIRE ADJUSTMENT AFTER
ASSEMBLY.
PRICES FOR CASH, CHECK, OR MONEY ORDER. ADD 3%
FOR VISA/MASTERCARD, $3.00 PER ORDER SHIPPING
AND HANDLING, $6.00 FOR COD.
EMERFILD
MICROHRFIE
PQBOX6118 ALOHA, ORE. 97007
(503) 642-1860
50
Micro Cornucopia, Number 20, October 1984
SWP'S CO-POWER-88 makes Z80, CP/M
microcomputers IBM-PC compatible!
CO-POWER-88 is a 16-bit 8088 coprocessor for Z80 CP/M
computers. Both versions of CO-POWER-88, 128k and
256k RAM, include both MSDOS, and RAM drive soft-
ware, complete with MSDOS, IBM-PC
compatibility.
Simple commands move system control
between the Z80 and 8088 processor. CO-
POWER-88's RAM can be used in CP/M as a
RAM drive! Currently available for Kaypro,
Bigboard, Zorba, Xerox 820-II, Actrix,
Osborne, and ATR8000 computers.
128k CO-POWER-88 w/MSDOS & RAM Drive $400.00
256k CO-POWER-88 w/MSDOS & RAM Drive $500.00
CP/M-86 $70.00
ATR8000: SWP's $499.95 CP/M Computer
SWP's ATR8000 is a 64k RAM,Z80A, 4 MHz computer that includes double density CP/M 2.2.
The ATR-8000 runs up to four disk drives that are any mixture of size (5 1 /4" and 8" ), type
(single-sided and double-sided), and density (single, double and quad). The ATR8000 has an
RS-232 port for a modem or serial printer and includes software for both. There's also a
parallel port with a parallel printer driver. The ATR8000 interfaces to an RS-232 terminal or to
an ATARI home computer. Software includes a program that allows the ATR8000 to use CP/M
disks from other computers. The ATR8000 can be upgraded to also run CP/M-86 and MSDOS
by adding CO-POWER-88.
BigbOard Dual Density We ' ve J ust released a new version!
Hardware ^
• A daughter board that plugs into the
1771 socket. With this board the system
employs automatic density select.
• Instructions tell how to run 5V»" drives.
A 50-34 pin disk drive adapter board is
included with 5 1 A" disk orders.
Software V#061983
• One 8" version includes the code to
make a 60k double density CP/M for
8" SS 2.5 MHz 8" DS 2.5 MHz
8" SS 4 MHz 8" DS 4 MHz
5V*" SS 2.5 MHz
• Printer drivers are built-in, selectable in
the IOBYTE.
• Easy to change port parameters.
• 8" SSDD disk storage is 674k; DS is
twice as much! 5V*" is 183k.
• Includes DDINIT for SD and DD initial-
izing and DDSYSGEN for DD sysgening.
• Special features have been added in-
cluding a deluxe pause, screen print
and clock.
• Source code is available for $25 after
you sign a disclosure agreement.
For Orders: We accept MasterCard, Visa, Money Orders or
checks. Shipping charges and applicable taxes will be added.
Call or write for delivery time. Prices and specifications sub-
ject to change without notice.
Trademarks: CO-POWER-88, ATR8000, SWP, Inc.; Z80, Zilog; CP/M, CP/M-86, Digital Research, Inc.; IBM-PC,
IBM; MSDOS, Microsoft; Kaypro, Kaypro Corp.; Zorba, Mod Comp., Inc.; Xerox, Xerox Corp.; Actrix, Actrix
Corp.; Osborne, Osborne Computer.
/UICROCO/HPUTER PRODUCTS, INC.
2500 E Randol Mill Rd. - 125
Arlington, Texas 76011
817/469-1181
817/861-0421
Micro Cornucopia, Number 20, October 1984
51
SOG III
By David Thompson
Here is part of the report for all of you
who didn't make it to the SOG (the rest
will show up throughout this and future
issues).
We had a super turnout — fell into the
river — filled the hatchery building — ate
well — met some really super people —
got very little sleep — and were very glad
when Sunday rolled around so we could
explore this beautiful place (in relative
peace).
For the record, about 250 people at-
tended, up from just over 100 last year
and 50 at SOG I. Let's see now, by the
year 2000 the Olympics will look like
small potatoes compared with the SOG.
New Blood
As for attracting new people to Bend
(my secret motive, remember?) it looks
like I may have succeeded beyond my
wildest dreams. Several individuals and
one good size company have either said
they are definitely coming (and are pres-
ently pouring over multiple-listing
books) or are definitely interested in lo-
cating here and are exploring ways to do
it.
Interestingly enough, it appears that
the wives are often the prime motivation
in the moving decision. There is some-
thing about Bend with its open fields,
horse ranches, forests, wilderness areas,
and skiing that makes family raising a
reasonable (if not genuinely fun) preoc-
cupation. You could think of it as taking
on a long-term application project in a
really good systems environment.
Our Good Offices
Everyone had a chance to visit the Mi-
cro C offices (a neat old house that we've
turned into a very comfortable feeling
headquarters). We had 3 employees last
year, there were 10 this year so we've
grown.
Philippe Kahn who likes to talk to
technical groups, was afraid that this
would be another low-level user group
meeting. However he had a good time at
the SOG. (He was late for one meeting
because he got so engrossed in his sight-
seeing.) His afternoon talk on designing
Turbo Pascal was very detailed and very
interesting, especially when he began
discussing the problems bringing up
Hatchery Building - site of SOG III. Note class being held on front porch.
Modula II and Ada. His evening keynote
address was about their attempts to get
venture capital (and decision to go on
without it) and the incredible ruse they
set up to get Byte to run their first ad
without prepayment (if the ad hadn't
been successful they couldn't have paid
for it). There was a terrific ovation when
he finished the tale. (See what you
missed?)
Ezra Shapiro did not make it, he
called, confessing ill health on Thursday
(the very worst kind). Too bad, Byte will
just have to read about this event in Mi-
cro C (and you can quote us).
Financial Hard Times
Some folks tried to get their compa-
nies to reimburse their expenses but
when they passed around our flyer with
Semi-Official Get-together on it, their
managers didn't feel the event was seri-
ous enough. These poor souls suggested
we change the name to Super Official
Gathering (not to be confused with Su-
perficial Gathering). Maybe next year
we'll have two brochures — an official
one (for expense accounts) and an unof-
ficial one (for fun).
Next Year
Sandy will be putting together some
non-computer family events next year,
so that everyone will have organized ac-
tivities throughout the SOG. (Though
the word was, that by the last day, the
wives were really getting into the
swing.)
In case you are thinking about next
year, figure on scheduling your vacation
for the last weekend in July. We'll be
here, hope you will too.
Special Thanks
I don't usually list names in Micro C
just to list names. Names usually mean
nothing to anyone but the people with
that name. However, these names be-
long to people who are very special to me
because they did yeoman duty at the
SOG out of the goodness of their hearts
and that means a lot. So there!
The Micro C staff (for service well be-
yond the call), my mother (hi mom), my
dad, Sandy (great food including home-
made deserts), Ron Anderson (a power-
ful guy with all the connections — AC
52
Micro Cornucopia, Number 20, October 1984
Philippe Kahn, SOG III keynote speaker, leads discussion on compiler design.
wise), and all the SOG speakers and do-
ers and helpers.
Friday Forums
9 am, Voice Synthesis and FORTH,
Barry Cole.
10 am, On Your Own (the continuing
saga) Hampton Miller.
11 am, Slicer News, Earl Hinrichs and
Dean Klein.
12 Noon, Bulletin Boards and More,
Trevor Marshall.
1 pm, Kamas (Text Organization Sys-
tem), Adam Trent.
2 pm, Micro C Technical Department
Forum, Laine Stump and Dana Cotant.
3 pm, New Designs, Jim Ferguson.
4 pm, Ham Radio, Jim Skinner.
Saturday Forums
8 am, Slicer Construction (Begins).
8 am, BBII Owners Meeting, Ron Sa-
so.
(continued on page 55)
Dana Cotant and Laine Stump answering questions about upcoming Micro C
articles and products.
Hampton Miller leads "On Your Own"
discussion.
Micro Cornucopia, Number 20, October 1984
53
This is THE PASCAL COMPILER
You've Been Hearing About
"It's almost certainly better
than IBM's Pascal for the PC. . .
Recommended . ' '
Jerry Pournelle
ftyif, May 1984
VERSION 2.0
"If you don't have CP/M [for
your Apple], Turbo Pascal is
reason enough to buy it."
Gary Hara
Softalk Apple, May 1984
"If you have the slightest interest in Pascal . . . buy it."
Bruce Webster, Softalh IBM, March, 1984
And No
n Better
° Color, Sound and Graphics Support (IBM PC, XT, jr. or true compatibles)
• Full Support of Operating System Facilities
• No license fees. You can sell the programs you write with Turbo Pascal without extra cost.
Yes. We still include Microcalc . . . the sample spreadsheet written with Turbo Pascal. You can study the
source code to learn how a spreadsheet is written . . . it's right on the disk* And, if you're running Turbo
Pascal with the 8087 option, you'll never have seen a spreadsheet calculate this fast before!
*Except Commodore 64 CP/M.
Order Your Copy of TURBO PASCAU VERSION 2.0 Today
For VISA and MasterCard orders call toll free: 1-800-227-2400 x968
In California: 1-800-772-2666x968
(lines open 24 hrs, 7 days a week) Dealer &. Distributor Inquiries Welcome 408-438-8400
Choose One (please add $5.00 for ship-
ping and handling for U.S. orders. Shipped
UPS)
Turbo Pascal 2.0 $49.95 + $5.00
Turbo Pascal with 8087 support
$89.95 + $5.00
Update ( 1.0 to 2.0) Must be accom-
panied by the original master $29.95
+ $5.00
Update (1.0 to 8087) Must be
accompanied by the original master
$69.95 + $5.00
Check
VISA
Card #: _
Exp. date:
Money Order
Master Card
My system is: 8 bit 16 bit —
Operating System: CP/M 80
CP/M 86 MS DOS PC DOS
Computer:
»)) BORIAHD
B INTERNATIONAL
Borland International
4113 Scotts Valley Drive
Scotts Valley, California 95066
TELEX: 172373
Disk Format: :
Please be sure model number & format are correct.
Name:
Address:
City/State/Zip:
Telephone:
California residents add 6% sales tax. Outside U.S.A. add $1 5.00 (If
outside of U.S.A. payment must be by bank draft payable in the U.S.
and in U.S. dollars.) Sorry, no C.O.D. or Purchase Orders.
SOG III (continued from page 53)'
10 am, Kaypro Owners Meeting,
Thomas Brundage.
12 Noon, BBI Owners Meeting, Dan
Long.
1 pm, Computers and the IRS, Jack
Rodenhi.
2 pm, Xerox Owners Meeting, Brian
Garrison.
3 pm, How Turbo Pascal was De-
signed (and much more), Philippe Kahn.
5 pm, Color Graphics on the Kaypro,
Don Thompson.
7 pm, Making It without Venture Cap-
ital, Philippe Kahn.
8 pm, SOG Awards Presentation,
David Thompson.
Finally
SOG III was definitely a superset of
the earlier SOGs. This time we had more
people, more speakers, more food, ta-
bles of hardware bargains ($70 for a new
390K drive?), special prices on Slicers
and BBIIs (Bill Siegmund was demon-
strating some very nice Winchester soft-
ware), and, most importantly, genuine
SOG III tee shirts. One kind fellow came
up to me during the event and suggested
that we charge for admission. He said it
would be a bargain at $50 per person.
Well, fear not, we're not planning to
commercialize the SOG. There is so
much information being passed around
and so many neat projects being
dreamed up that it was worth it just for
the articles that will show up in Micro C.
And besides, everyone in our office real-
ly looks forward to it.
We have received a number of letters
from happy attendees saying they will
be back next year. Only — next year they
will be bringing their whole user group.
One California group is thinking about
leasing a commercial airliner for the trip.
SOG IV could be very very interesting
(see you the last week in July).
■ ■ ■
View of Proxy Falls just above the
pool where the water disappears
into the ground.
All-day rafters entering Class-4 rapids.
SOG I Hers hiking the Proxy Falls
Trail.
Micro Cornucopia, Number 20, October 1984
55
Micro Cornucopia .
KAYPRO USERS DISKS
for KayPro II, 4 and 10
H2 00 each
KayPro Disk Kl
Modem software
This disk is absolutely priceless if you will be using a
modem to communicate with bulletin boards, other
micros or mainframes.
MODEMPAT. COM: Menu selection of baud rate,
bits/character, stop bits, & parity for serial port.
MODEM7.COM: Very popular MODEM 7 con-
figured for KayPro.
MODEM7+.COM: This is MODEM7 & MODEM-
PAT combined - you can communicate with anything!
KMDM795.COM: Super-version of MODEM7 set
up for KayPro.
TTERM.MAC: Commented disassembly of the TERM
program you get with your KayPro so you can
configure it for any interface.
SQ/USQ.COM: Programs to squeeze and unsqueeze
files for faster transfer.
KayPro Disk K2
Utilities
Really oodles of spiffy little (and big) programs to
help you get full use of your KayPro.
ZESOURCE.COM: A true Zilog format disassem-
bler for 8080 and Z80 object(.COM) files. Now you
can turn .COM files into . MAC files.
UNERA.COM: Simply enter "UNERA" followed
by the name of the file you just erased and presto, the
erased file is back! A lifesaver.
FINDBD54.COM: Checks an entire disk, reports
bad sectors, and then creates a special file containing
those sectors. You save a bundle on disks.
CAT2: This a group of programs which create and
maintain a single directory of all the programs you
have on all your disks. Even keeps track of which
programs are backed up and which aren't.
UNSPOOL.COM: Use your KayPro II and print
files at the same time. Doesn't slow down system
response!
DUMPX, DU-77, COMPARE, SUPERSUB,
FORMFEED, DIR-DUMP, . . . and all have
documentation on disk.
KayPro Disk K3
Games
PACMAN.COM: Despite the KayPro's lack of
graphics, this one looks and plays amazingly like the
real thing! Keep it hidden.
ZCHESS.COM: Chess with a 1-6 level look ahead.
OTHELLO.COM: You learn it in minutes, master
it in years.
BIO.COM: Generates custom graphic biorhythm.
MM.COM: Master Mind.
WUMPUS.COM: Classic wumpus hunting.
KayPro Disk K4
Adventure
This disk contains one 191K game, Adventure.
ADV.COM: This is the latest, greatest, most cussed
adventure ever devised by half-mortals. This is the
550-point version so the cave is greatly expanded and
the creatures are much smarter.
KayPro Disk K5
MX-80 Graphics
A complete Epson MX-80 printer graphics package
including example files. (Same as K19.)
KayPro Disk K6
Word Processing Utilities
A powerful line oriented text editor that looks like
Unix's EX, plus a scad of text utilities written in C
which handles pretty printing, shortening a file,
multiple space output, add tabs, remove trailing
whitespace, and more. Also includes ROFF.COM a
very neat text formatter.
KayPro Disk K7
Small C Version 2 Compiler
This is a greatly extended version of Ron Cain's Small
C compiler. Version 2 has more expressions and
larger library, true subset of Unix C. Disk contains
compiler, documentation, and library — everything
you need.
KayPro Disk K8
Small C Version 2 Source
This disk contains the source (written in Small C) of
the Small C version 2 compiler. Get K8 if you want to
try extending the compiler. (You must have K7.)
The following are full disks of software assembled for
the KayPro. Each program has a .DOC (documentation)
file and many come with source.
KayPro Disk K15
Hard Disk Utilities
This disk is for the KayPro 10 or any KayPro with a
Winchester drive. With these routines you can not
only backup files (with printed directories of the
backup disks), you can also break up large files. The
backed-up files are not encoded (as they are with
KayPro's backup routine) so you can access them on
any system.
KayPro Disk K 16
Pascal Compiler
This is a real Pascal compiler. It supports only a subset
of the language (no records, pointers, booleans, reals
or complex) but it generates a real .COM file.
Everything is on this disk: the compiler, its source,
example programs and documentation.
KayPro Disk K17
Z80 Tools
This is for those of you who are into Z80 assembly
language.
XLATE.COM: A very good 8080 to Z80 translation
routine.
DASM.COM: An easier to use version of ZZ-
SOURCE (the Z80 disassembler). This full disk
includes source and documentation for both routines.
KayPro Disk K 18
System Diagnostics
Just as we finished editing the routines on this disk, we
received a copy of KayPro's diagnostic disk. The
memory test and drive exercise, routines on this disk
are more powerful than KayPro's versions. (Plus, it's
only $12!) Setup for KayPro II and 4.
KayPro Disk K19
Prowriter Graphics
This is a complete Prowriter printer graphics package
written by the same Micro C subscriber who wrote
the MX-80 graphics package. Plot points, lines,
circles, boxes, and more. Examples, documentation.
Kaypro Disk K20
Color Graphics Routines
PACMAN.COM: This is a deluxe version of pacman
for Microsphere's color graphics board.
PIE.COM: Pie Chart generator.
SKETCH.COM An easy way to sketch color graphic
designs. You can even use a joystick with this software
(see Micro C issue #18 for joystick interface).
Kaypro Disk K21
SBASIC Routines & Screen Dump
SBAS1C: Finally a disk of SBASIC software. There
are some good examples of structured programming
on this disk (including one program written both
ways so you can see the difference).
SCREEN DUMP: This is a screen dump for all
Kaypros new and old. You can buy a similar package
elsewhere for $60.
Kaypro Disk K22
ZCPR (Again)
This disk is filled with ZPCR files. You get ZPCR for
the Kaypro II, Kaypro 4, and the Kaypro 10. This
version is fixed so that you can pass control characters
(such as cntl-P) to the system and you can choose to
have it,recognize the semi-colon for drive select (as
well as the colon). So you can enter "B;" or "B:" to
select drive B. Super neat!
ZPCR, for those of you who don't know, makes
CP/M a lot friendlier. It searches drive A for any
.COM file it doesn't find on the current drive, the
TYPE command scrolls text 24 lines at a time, and a
new LIST command outputs a file to the printer.
Kaypro Disk K23
Fast Terminal Software & New BYE
This disk contains interrupt-driven terminal pro-
grams for all Kaypros. If you are tired of being limited
to 1 200 baud when you use your Kaypro as a terminal
then take heart. With these programs, your Kaypro
can outrun the big boys by receiving and sending up to
19,200 baud without dropping a single character!
Also, a new version of BYE that not only lets you run
your Kaypro remotely, but also figures out whether
you have a 63K or 64K system so it will run with any
Kaypro using an external modem.
KayPro Disk K9
ZCPR
ZCPR: The big news on this disk is the self-installing
version ZCPR available only from Micro C. Once you
have ZCPR in your CP/M, you'll never go back to
straight CP/M! For instance, ZCPR searches drive A
for any program not found on drive B, so, even an
empty -disk in drive B appears to contain every
program on A. It's great for text editors, compilers,
etc. Works on KayPro II and 4.
EX 14: a super replacement for SUBMIT.
Plus many more: TREK, FIX, FIND, SNOOPY
ALIENS and DIF2.
KayPro Disk K10
Assemblers
We've received a lot of requests for a Z80 assembler.
So Dana put in some long hours getting the Crowe
Z80 assembler to run on the KayPro (and every other
Z80 machine).
CROWECPM: This is a first class Z80 assembler.
We use this assembler daily (and we included its
source). Takes standard Zilog mnemonics.
LASM: This is a more powerful version of the ASM
assembler you received with the KayPro. This will
link multiple programs together at assembly time.
PRINTPRN: This program makes it easy to print
the listing files generated by the Crowe assembler.
KayPro Disk Kll
Library &. Checkbook Programs
CHECKS: This has been a very popular group of
programs. Categorizes checks so you can keep track
which are tax deductible and which get charged to
which projects. Includes source and excellent example
check files. Very powerful.
LIBR: This is a complete set of library routines
which let you group files into a single file called a
library. Then CP/M sees them as a single program,
but with the library routines, you can list them out
separately, run them separately, or divide them up
again. Almost like a unix environment.
DISPLAY, VL1ST, PGLST: Additional screen and
print utilities.
KayPro Disk K12
FORTH
Yep, this is FORTH, one of the most unique, most
extendable languages known, and for a paltry $ 1 2.00.
This disk contains not just one FORTH, but two,
along with an editor, decompiler and 8080 assembler!
The editor even uses the cursor control keys.
FORTH: This is true fig-FORTH.
KFORTH: A very nicely extended version of
fig-FORTH.
PLUS, all the rest of the FORTH goodies. (Forth
Heaven!)
KayPro Disk K13
Source of fig-FORTH
All this disk contains is the 40K ASM source of
fig-FORTH with the hooks in place for the KayPro.
This disk is for FORTH hackers who just can't leave
anything alone. (Look, you probably have faults,
too. ) The source of FORTH is here because there isn't
room on K12. This is the only disk that isn't stuffed.
KayPro Disk K 14
Smartmodem Programs
This is the disk for you if you have a Smartmodem
compatible modem.
SMODEMK: Smartmodem program set up for the
KayPro (and source).
XMODEM: Lets you remotely control your KayPro
from a distant computer.
KAYTERM: This is the information you need to
run or write modem software on the KayPro.
Something special for your
Kaypro!
Kaypro Disk K24
MBASIC Games & Keyboard
Translator
We sifted through many, many games before coming
up with these gems. All will work on any Kaypro and
all come in MBASIC source.
USOPEN shows you the fairway on the screen. You
select the club and direction for each stroke. After
you reach the green the display shifts to show details
of the green and flag. For one to four players.
DUCK is an offshoot of aliens (pardon the pun).
Hunter tries to shoot down ducks while ducks try to
bomb the hunter. (Much fairer than real life.).
CASTLE is an adventure in which you select your
attributes (strength, dexterity, and intelligence) and
you get to purchase arms and protection. Great
documentation and very interesting game.
KSTROKES is a keyboard translator similar to
Smartkey. Bill Forbes did an excellent job creating
this program. You can create and save translation files
on disk. The program even includes a table which
generates WordStar commands from the Kaypro's
keypad! You can define 8 keystrokes at up to 63
characters each.
Kaypro Disk K25
Z80 Macro Assembler
This is a real Z80 macro assembler! Syntax closely
follows RMAC and MAC. Also includes pseudo-ops
to support conditional assembly etc. No .phase or
relocatable code.
Kaypro Disk K26
EPROM Programmer &. Character Editor
This is the software for the Kaypro EPROM pro-
grammer written up in Issue #18. This software and
the programmer turn your Kaypro into a very power-
ful development system. You can read ROMs, write
ROMs, save data on disk and restore data from disk.
Plus, you get a character editor which will help you
design custom character ROMs for the non-graphic
Kaypros!
Kaypro Disk K27
Typing Tutor
A complete typing tutor for beginners and experts.
Written in Australia, it comes complete with source.
This was customized for Kaypro II , 4 and 1 by Barry
ColeofWLAKUG.
The documentation says you can learn to touch type
in 8 hours (probably a little longer for mortals).
,&*
Kaypro Disk K28
Modem 730
One of the most versatile modem programs available.
Files and overlays are included to assemble a usable
version of MDM730 for a Kaypro II, 4, or 10 using an
external modem.
REMEMBER
FREE USERS DISKS
In exchange for submitted
software or articles
New Schematic Packages
Finally, a complete schematic for your portable Kaypro, logically laid out on a single
24" by 36" sheet, plus a very complete illustrated Theory of Operation that's keyed to
the schematic. You'll get detail information on your processor board that's available
nowhere else. ,
For instance, those of you with the 10 and new 84 systems get a thorough rundown on
your video section complete with sample video control programs in assembly language
and Pascal. Of course, all packages contain serial and parallel port details and
programming examples as well as complete coverage of the processor, clock, I/O, and
disk controller (information that is not even available in Kaypro's own Dealer Service
Manual!).
Kaypro Schematic Packages
Kaypro II &. 4 (pre-84) $20.00
Kaypro 10 (pre-84) $20.00
Kaypro 84 series (11,4,10) $20.00
All prices include Postage
For more detailed ROM information see page 48.
Pro-8 ROM Package
The PRO-8 package from Micro Cornucopia upgrades your KayPro 4 to a KayPro 8
with 784K bytes (96 directory entries) per Tandon 100-4 (or equivalent) quad-density
drive. Plus, you can select your own cursor character (and change it at will).
The package includes the new PRO-8 monitor ROM, a disk of formatters and copiers,
and printed instructions. (We even tell you how to turn your KayPro II into a KayPro 4. )
All you add is one or two double-sided double-density (390K), or double-sided quad-
density (784K) drives. You get over 1.5 Megabytes on a two-drive quad-density system!
This new system can read, write, and format KayPro II and KayPro 4 disks as well as
KayPro 8 disks. And it recognizes each disk type automatically!
All this for only *49 95 !
Watch Micro Cornucopia for more KayPro compatibles.
Call or write for information on the other KayPro II and 4 ROMS from Micro Cornucopia.
Plus-4 Decoder Board
With this nifty little plug-in board, your Pro-8 ROM can access up to four 5V4" drives.
You just plug a four-drive 34-pin cable into this board and you can add up to two
additional drives.
Now you can run any mix of 191K, 390K, and 784K drives as drives A, B, C, and D.
You can run your original drives as A and B then add 380K or 784K drives outboard as C
and D. You can even run four half-wides inside your original Kaypro!
The Plus-4 Decoder Board for only *39 95
Watch for 4-84 and 10-84 compatible ROMs coming soon.
Micro Cornucopia
P.O. Box 223
Bend, OR 97709
503-382-8048
9-5 Pacific Time
Monday-Friday
More Goodies
CP/M 86
8" CP/M-86 Disk $ 1 5.00 each
DISK 86-1 — Disk Utilities
D.CMD/A86, SD.CMD/A86,
XDIR.CMD/A86: Three extended directory pro-
grams. Each does it differently, so we included all
three.
FILE-EXT.CMD/A86: Disk status program with
good display format.
PAGE. CMD/A86: A text paging program. Dis-
plays 24 lines at a time.
PRINT.CMD/A86: File printing routine. Puts a
header at the top of each page along with page number
and file name.
MUCHTEXT.CMD/A86: Counts words and
lines in a text file.
ERQ,CMD/A86: Selective file erase program.
Displays all selected files and then asks you one at a
time for a Y/N.
INUSE.CMD/A86: Prints "In Use" on your
terminal and asks for a password. It will not release
the console until you enter the password.
FINDBAD.CMD/A867. Finds and collects bad
sectors on a disk. If there are no bad sectors,
information on the disk is unaltered.
Disk 86-2 — DU and Modem Programs
DU-V75.CMD/A86/DOC: This is the popular
disk utility from CP/M 80. It lets you read, write, and
modify disk sectors.
MODEM4.CMD/A86: This is a modem program
set up for the Sheer. This program includes a built-in
help file.
MODEM7SL.CMD/A86/DOC: No modem disk
would be complete without this standard. This is
modem7 set up for the Slicer. It displays a menu when
it is called.
Disk 86-3 — Small C
C86.CMD: This is the original Small C compiler
which appeared in Dr Dobbs Journal in 1980. It runs
under CPM-86 and generates 8086 source for the
ASM86 assembler.
C86. COM: This is the C86 compiler which runs
under CPM-80. This 8080 program produces 8086
assembly language.
C86LIB.A86: This is the C86 I/O library.
SMALLC86.DOC: Documentation on Small C.
C1UU.C: Source of the C86 compiler.
DISK 86-4 — IBM Mainframe Interchange/
RESOURCE 8086
XBIOS.A86: A new BIOS that supports a real time
clock.
RES86.CMD: A disk management program for
transfering files between CP/M-86 and IBM 374X
mainframe environments.
SDI86.CMD: An 8086 version of the RESOURCE
disassembler.
DISK 86-5&6 — FIG Forth
Disks 5 and 6 are a complete two disk set of FIG
Forth 83.
F83.CMD: The standard Fig Forth 83.
META86.CMD: The Forth compiler.
OTHER GOODIES
Screen Editor in Small C $39.00
A simple but full-function screen text editor plus a
text formatter, all written in Small C by Edward
Ream. This package includes the editor and formatter
.COM files setup for the Big Board, Small C itself,
and source code for all. With the documentation this
is over 400K on a flippy disk. Edward is selling this
package for $50, you can buy it from us for $39 (and
Ed gets a royalty). Where else can you get an editor, a
formatter, a C compiler, and source for all, for under
$40?
More ROMS: Fast monitor ROMs for speed freaks
and our famous 'better than Texas' character ROM
(V2.3) for screen freaks.
Fast Monitor ROM BB1 $29.95
Deluxe Character ROM BB1 $29.95
BB II DRIVE INTERFACE
For 514" and 8" Drives
Andy Bakkers is making this special software package
available through Micro C. Complete source, HEX,
& documentation files on an 8" SS SD disk. Also
outlines on disk the hardware changes needed.
$29.95
ROMs from Micro Cornucopia
There are two ROMs in each Kaypro, a monitor ROM and a character ROM.
The Monitor ROM supplies information for the Z80 processor on such
things as how to get information from the disk drives, and which character to
use as a cursor. The character ROM works entirely in the video circuit and it
determines what the characters look like on the screen (for instance, does the
"f" have a high, small cross bar, or a lower, longer one of the Micro C
character ROM). When you speed up your Kaypro, you are speeding up the
processor clock so you have to use a monitor ROM that will also run at the higher speed. You are not
changing the video clock when you speed up the Kaypro so you don't need to change the character ROM
(unless you want the nicer looking character set). Since the monitor ROM tells the processor how to do disk
accesses you are going to have to change that ROM in order to upgrade to larger drives.
Pro-Monitor II for Kaypro II
1. This ROM is a fast part so you can run 4 or 5 MHz with your Kaypro II.
2. It gives you a non-blinking block cursor (much less irritating), though you can specify a standard blinking
underline if you prefer it.
3. It does faster disk accesses (even if you don't speed up your system).
4. It throws away null characters (those little asterisks that sometimes garbage the screen during data
communications).
5. Includes complete printed instructions for simple plug-in installation (takes 5 minutes).
Pro-Monitor 4 for Kaypro 4
This ROM does everything the Pro-Monitor II does, only it's for a Kaypro 4. Though the ROM that comes in
your Kaypro 4 will run 4 or 5 MHz (unlike the ROM that comes in the II), this ROM also gives you:
1. Non-blinking block cursor. 3. Throws away null characters.
2. Faster disk accesses. 4. Complete printed instructions simple plug-in installation (takes 5 min).
Pro-Monitor 8 package for Kaypro 4
This ROM package does everything the Pro-Monitor II and 4 do (it will run at 5 MHz, ignores nulls, has the
fast disk accesses). In fact, even if you will be using your original 191K or 390K drives for now, you can use
this ROM package. The Pro-Monitor 8 features include:
1. You get 784K per disk with quad density (96 tpi, double sided) Tandon 100-4 (or equivalent) drives.
2. You can use any combination of Tandon 100-1 (Kaypro II), 100-2 (Kaypro 4), or 100-4 drives as drives
A and B.
3. You can boot from any disk with normal system tracks (Kaypro II, Kaypro 4, or Kaypro 8). The disk
needs no modification.
4. You can choose any character (including space) as a cursor and you can choose to make the character
blink or not blink. Plus, you can change the cursor at will.
5. You get a disk which contains a new copy routine for copying and formatting 784K disks, and a drive
diagnostic routine for checking out the quad density drives.
6. You get complete printed instructions for installation of ROM and drives (takes 10 to 15 minutes,
including drives).
7. The installation requires no cuts or jumpers, everything simply plugs into a Kaypro 4. (If you have a
Kaypro II, see the modification article in Micro C issue 15 to turn your II into a 4.)
Pro-Character ROM (for Kaypro II and 4)
The character ROM gives you a nicer looking character set. Kaypros have come with two different character
ROMs, the early character ROMs had a rotten g, y, q, f, and t as well as commas and semi-colons that -were
hard to tell from periods and colons. On the newer systems (manufactured since Sept 83) half of the
characters (notably the g) have been improved, but they haven't gone all the way.
Also, many of the older character ROMs were poor quality parts so they generated snow as information
scrolled up the screen. This white flecky snow disappears when you install a Pro-Character ROM.
The character ROM comes in two flavors:
1. The standard Greek Pro-Character has the nicer character set plus the standard Kaypro Greek characters.
2. The Clean Pro-Character has the nicer character set but no Greek characters. This is the ROM for people
who get strange Greek characters on the screen when interfacing with Mainframe systems.
3. Complete printed instructions for simple plug-in installation (takes 5 minutes).
Note: These ROMs will not work in the Kaypro 10 or the latest Kaypro 4 with graphics (it contains the
Kaypro 10 board). We are working on new ROMs for these systems.
Prices:
Pro-Monitor II 29.95
Pro-Monitor 4 29.95
Pro-Monitor 8 (package) 49.95
Pro-Character (either Greek or Clean) 29.95
Pro-Set II (Pro-Monitor II 6k Pro-Character) 55.00
Pro-Set 4 (Pro-Monitor 4 & Pro-Character) 55.00
Pro-Set 8 (Pro-Monitor 8 package & Pro-Character) 70.00
Micro Cornucopia
52 HI
P.O. Box 223
Bend, OR 97709
503-382-8048
9-5 Pacific Time
Monday-Friday
REMEMBER
FREE Users Disks in exchange
for submitted software or articles
58
From
Micro Cornucopia
D T Dt» TT 1 VCDOV Q-l/"> T ICCI) o mpvc ■
BB I, BB II, and XEROX 820 USERS DISKS
The following are full 8* disks of software. Each program has a .DOC
(documentation) file and many come with source.
8" Users Disks
$15.00 each
USERS DISK #1
1-Two fast disk copiers 4-Two disk formatters
2-The manual for Small C+ 5-Modem 7
3-Crowe Z80 Assembler 6-Othello
7-Serial print routine-Port B
USERS DISK #2
1-Two single disk drive copy programs, both with
source
2-Crowe Z80 Assembler source
3-New Crowe.COM file, debugged version
4-New CBIOS with parallel print driver 6k. other
extensions for CP/M 1.4 6k. 2.2
5-Disk mapper with source
USERS DISK #3
1-EPROM burning software for BB 1
2-Reset bit 7 (un WordStar a file)
3-Disk file CRC checker
4-New fast copy program 6k. source
5-DU77, disk inspector/editor
6-FINDBAD, isolates bad disk sectors
7-Print fancy page headings
USERS DISK #4
1 -CBIOS, custom bios for Tandon drives
2-ZCPR, dynamite CCP checks drive A for missing
.COM files; improved commands
3-ZCPRBLOC, identifies CCP location
USERS DISK #5
1-CAT, disk cataloging routines
2-Modem 7 for Port A
3-Modem 7 for Port B
4-PACMAN, the arcade game
5-FAST, buffers the disk to speed up assemblies
6-NOLOCK, removes BB 1 shift lock
7- VERIFY, cleanup 6k. verify a flaky disk
8-DUMPX, enhanced for BB 1
9-UNLOAD, create .HEX file from .COM file
USERS DISK #6
1-REZ, 8080/Z80 disassembler, TDL mnemonics
2-PRINTPRN, prints Crowe listings
3-RUNPAC, run-time utility package for 8080 assem-
bly language programs. Has 5 1 functions. Includes
source which assembles under ASM.
USERS DISK #7
1-CHNGPFM, PFM monitor mods
2-TERM, terminal routines let you set up BB as
simple terminal, as a file receiver, or as a file sender
3-Checkbook balancing package
4-Disk Utilities - copy to memory, from memory,
and dump.
USERS DISK #8
1-BDSCIO, custom BDSC I/O for BB 1 (both .h
and .c)
2-YAM, Yet Another Modem program in source 6*.
.COM form. Turns BB into paging intelligent
terminal, complete with printer interface, baud
rates to 9600.
3-ROFF, text formatter
4-SIGNS, prints large block letters
USERS DISK #9
1-ADVENTURE, expanded 550 pt version
2-Keyboard translation program
3-CBIOS, serial 6k. parallel printer interface
4-EPROM programming package for BB II, for 2732s
only
USERS DISK #10 - Lot. of Di.k Utilities
1-REBOOT, sets up the CP/M auto load
2-SWEEP, directory /file transer routine
3-A, Lets BB I recognize a double sided drive as one
drive with 494K of usable space
4-FIX, super disk utility, does everything, much
easier to use than DU77
5-Compare files routine
6-UNERA, retrieve erased files
7-FIND, check all drives on system for a file
8-MENU, menu program for CP/M
9-NEWCAT, enhanced disk catalog program
10-Single drive copy program that does track by track
copies rather than file by file
. USERS DISK #11- Printer Utilities
1-Microline 92 printer routine
2-Graphics display package for MX-80 with Craftrax,
very fancy
3-Epson MX80 setup for BB 1 with 59.5K CP/M
4-Epson MX8 setup for any CP/M, lets you set print
modes.
5-Micro Tek print driver, Ports A 6k. B
USERS DISK #12 - Games for BB I
1 -ALIENS, a fast, exciting arcade game
2-ZCHESS, chess with a 1-6 level look ahead
3-MASTERMIND, match wits with the computer
4-BIO, Biorhythm charts complete with graphics on
the BB I
5-LIFE, so fast it's real animation!
6-CRAPS, see how much you'd lose in Vegas
7-WUMPUS, a caver's delight, kill the Wumpus or
be killed
8-PRESSUP, similar to Othello
9-Games, 7 games in one program, includes blackjack,
maze and animal
USERS DISK #13 - General Utilities, BB 1
1-ZZSOURCE, disassembles to real Zilog mnemonics
2-EX14, superset of submit or supersub
3-MOVPATCH, lets you use MOVECPM on other
copies of CP/M
4-XMON, 3K expanded BB I monitor, use in ROM
or as overlay .
5-CURSOR, prompts you for cursor char you want
6-UMPIRE, very fancy RAM test
7-ZSIDFIX, display improvement for ZSID
8-PIPPAT, modify PIP so you can reset system from
within PIP
9-@, Lets you use the BB as a calculator, including
HEX
10-SORT, sort package written in C80.
USERS DISK #14 - BB II Software
1-PR032, latest 2732 reader 6k. programmer
2-SMODEM2, lets BB II talk to Hayes Smartmodem
3-GRAFDEMO, demonstrates BB II graphics (in
BASIC)
4-ATTRTEST, demonstrates BB II graphics (in JRT
Pascal)
5-INITSIO, initializes port B for 300 or 1200 baud
6-MENU, displays menu of.COM files, enter number
to run file
7-SETCLK, sets realtime clock built into BB II
8-PRINT2, modified print which accesses BB II clock
9-BOX, draws a thin line box on screen determined
by HL and BC
10- ALIENS, space invaders arcade game
11-LISTSET, printer interface, auto-enables RTS,
ignores DCD.
USERS DISK #15 • Word Processing
1-EDIT, very fancy line editor similar to EX (Unix).
Includes help menu, programmable key, and full
manual on disk.
2-TED, simple minded line editor, easy to learn 6k
use. Very fast.
3-TTYPE, typing training program written in BASIC
4-TINYPLAN, very simple-minded spreadsheet.
Whets your appetite for a fancy one.
5-C80 Text Utilities
6-CHOP, cuts off file after N bytes
7-ENTAB, replace spaces with tabs where possible
8-MS, double or triple spaces a file to output
9-RTW, removes trailing spaces from file
10-TRUNC, truncates each line to specified length
11-WRAP, wraps at column 80, plus pretty pretty
printing, page #s . . .
USERS DISK #16 - BB I Modem Software
1-RCPM27, list of U.S. bulletin boards
2-SMODEM, interfaces BB I with Hayes Smartmodem
3-PLINK66, easy to use with non-CP/M host, for
port A
4-BBPAT, menu selection of BAUD rate, bits/char,
parity, 6k. stop bits
5-MODEM 7+. Modem 7 plus BBPAT, lets you talk
to anything from port A
USERS DISK #17 - Small C version 2
SMALLC2, this substantially expanded version of
Small C now includes for, goto, label, switch (case);
external declarations; new preprocessor commands;
expanded I/O includes redirection; initializers; plus
12 new expressions. The I/O and runtime libraries
have been greatly expanded (including printf)- Source
6k. documentation on one full disk.
USERS DISK #18 - FORTH
IFORTH, this is Idaho FORTH which can be burned
into ROM or loaded from disk. It replaces the PFM
monitor 6k. handles all the monitor functions. See
issue #11 FORTH column for more info about
IFORTH and this disk.
^
#
&
&
&
&
&
#•
^
^
USERS DISK #19 - BB I Double Density
New BB I Monitor, BIOS, character ROM, Winches-
ter Interface, ZCPR, and formatter from Trevor
Marshall. See BB I expansion article in Issue #11.
USERS DISK #20 - Assemblers
CROWE ASM: This is the Crowe assembler modi-
fied so that it runs on any CP/M system (including
the BB I, BB II, Xerox . . .). Includes .COM .Z80 and
.DOC files.
LASM: This assembler is similar to the ASM thaf
comes with CP/M except that it can link files at
assembly time.
PRINTPRN: Print routine for CROWEASM .PRN
files.
LIBRARY: Utilities which let you combine many
files into one, then you can run, type, or extrace any
file within the larger system.
USERS DISK #21 - Winchester Utilities
BACKUP: Helps you back-up the Winchester onto
multiple floppies. Creates a catalog of the files on
each disk and includes the date of the latest backup.
Will not back-up an unchanged file more than once.
Plus many more super features.
FLOPCOPY: Lets you make floppy copies (with
only one floppy drive) by using the Winchester as a
buffer.
BIGBURST: Backs up a very large Winchester file
onto multiple floppies. Joins the copies to recreate
the original file.
MULTCOPY: Use this like PIP but it prompts you
to change disks. Accepts ambiguous file names.
MDIR: Displays files in all user areas on selected
drive. Many features.
MAKE, MOVE: PIP-like utilities that make it easy
to move files between user areas.
SWEEP: The famous disk cleanup and transfer
routine that does just about everything you can do
with TYPE, ERA, D1R, and PIP.
UNSQj This is the latest, greatest file unsqueezes
Enter UNSQ.*.* and it will check every file on the
disk. All squeezed files will be unsqueezed.
USERS DISK #22 - Pascal Compiler
This is a real Pascal compiler. It supports only a
subset of the language (no records, pointers, bool-
eans, reals or complex) but it generates a real .COM
file. Everything is on this disk: the compiler, its
source, example programs and documentation.
USERS DISK #23 - Xerox Utilities
This disk contains Xerox specific utilities including a
screen dump fromWayne Sugai(with source); modi-
fications for the SWP package including ZCPR, a new
monitor, and a clock/calendar from Mitch Mlinar;
and Jim Mayhugh's new monitor (see issue 19). A
very special disk for Xeroxers.
USERS DISK #24 - Prowriter Graphics
This is a complete Prowriter printer graphics package
written by the same Micro C subscriber who wrote the
MX-80 graphics package. Plot points, lines, circles, boxes,
and more. Examples, documentation.
USERS DISK #25 - Z80 Macro Assembler
This is a real Z80 macro assembler! Syntax closely follows
RMAC and MAC. Also includes pseudo-ops to support
conditional assembly etc. No phase or relocatable code.
USERS DISK #26 - BBII CP/M 3.0 Banked BIOS/
Winchester Support
CP/M 3.0 Banked BIOS implementation for the BBI. Roy
Epperson's software to support the Adaptec ACB-4000
SCSI and the Rodime R204 5" Winchester on the BBII
(see issue #19). Plus more Winchester programs.
USERS DISK #27 - BYE Remote CP/M System
BYE programs to run your BBI, BBII, or XEROX 820-1 as
a remote CP/M system using a Hayes Smartmodem
compatible modem. Includes programs to allow restricted
access.
USERS DISK #28 - VFILER and
Extended Single Density
VFILER is a screen-oriented file manipulation utility,
similar to SWEEP, CLEAN, and DISK. Also, Larry
Blunk's documentation and software for implementing
extended single density (334K) on eight inch disks.
59
Main/Frames
Main/Frames
_ from
$175
• 70 Models of Enclosures
• Assembled and tested
• Quasi-Coax Motherboards
• Power Supply
• Card cage and guides
• Fan, line, cord, fuse, power
& reset switches
$499
8" Floppy Main/Frame
$275
8" Disc Enclosure
Phase/80 8 Floppy Main/Frame
$370
Slim Line 8" Floppy Main/Frame
Write or call for our
brochure which incfudes our
application note:
"Making micros .better than
any ol' box computer"
8620 Roosevelt Ave. • Visalia, CA 93291
209/651-1203
We accept BankAmericard/Visa
and MasterCharge
SINGLE BOARD
COMPUTER
CHASSIS &
POWER SUPP
$275
Built like a tank
won't break the bank!
2901
SINGLE BOARD COMPUTER CHASSIS AND
REGULATED POWER SUPPLIES COMPLETELY
ASSEMBLED AND TESTED.
Cabinet size: 20"w x 22.4"d x 7.5"h. Cabinet painted
dove grey; front, back and side accents black. Mounts 2
SHUGART SA851R EIGHT INCH FLOPPY DISK DRIVES or
MECHANICAL EQUIVALENT*. Lighted reset switch on front
panel. Lamp supplied, but not connected. 4 DB25, 1 Delta
50, 1 Centronics connector cutouts, two switched ac
receptacles, 6' three wire line cord, EMI filter, 70CFM fan
with washable dust filter, line fuse, power switch on rear
panel. P2901 removable module power supply: +5@3A,
+ 12®. 5A -12@.5A for computer; +5@2.5A,
+24@2.5A— 4A peak, -5@.25A for disk drives. Includes
power cable from power supply to computer (unter-
minated wires at computer end) and power cable to 2
disk drives (specify single or double sided drives when
ordering).
POWER SUPPLY & ENCLOSURE AVAILABLE
SEPARATELY
*
fel'lfllti
8620 Roosevelt Ave./Visalla, CA 93291
209/651-1203
We accept BankAmericard Visa and MasterCard
60
Micro Cornucopia, Number 20, October 1984
SOG A FTERMA TH (continued from page 1)
there are four compatible chips, the
8088, 8086, 80186 and 80286. (The 80286
will be the only chip supported by
Borland's upcoming Ada compiler.)
Don't Throw Away Your Z80— Yet
A little historical (vrs hysterical) per-
spective is probably in order (you there
in the closet, come on out, no one's go-
ing to byte your little Z80). Don't forget
that the 6502 is still alive and kicking in
the Apple HE and C.
I know that using "Z80" and the
"6502" in the same paragraph makes
more than a few folks shudder, but
when you understand that the processor
which beat so slowly as the heart of the
KIM and SIM single board computers,
now beats just as slowly in Apples ev-
erywhere, you'll realize that Z80s will be
around for a long, long time.
Also, what are you doing with your
system? Is it working for you? Is there
any reason that it won't continue to do
the same thing for years to come? (I'm
writing this on my four-year-old Big
Board.)
However, the handwriting is definite-
ly on the wall (it's graffiti to some of us).
The play is definitely in the PC's corner
and there are starting to be some inter-
esting single-board projects in that cor-
ner.
The Other Chips
There is the Intel family of chips and
there are the others, the 68000, the
16032, and the 32032 to name a few. Un-
fortunately for these other chips, there
hasn't yet emerged a leader with a stand-
ard system. So, when you purchase a
68000 based machine you have a choice
of operating systems and terminal types.
No one is a real force in the 68K world so
there isn't going to be the software selec-
tion that you otherwise would have.
There is the Sage, the Macintosh, and
the new Morrow, for instance. Each has
a different operating system, a different
monitor, and, no doubt, a different disk
format. (Each is gambling that its selec-
tion might eventually become the stand-
ard so the stakes are very high.)
When you figure that the 68000 has
been around almost as long as the 8086,
and that it takes reasonably smart people
to design a 68000 based system, you'd
think that they could get together and
come up with a standard system.
Wouldn't you?
On the other hand they'd probably try
to do it by committee and I can guess
what that would look like. Perhaps their
only hope is for some sneaky person to
paste "IBM" to a new 68000 based sys-
tem and circulate half-a-dozen "secret
pre-production copies." If no one sus-
pected the ruse, it would be the best
thing that happened to the 68K world.
(The most sought-after graduates would
be those with degrees in high-speed re-
verse engineering.) Then if someone
would do the same thing for the 32032,
think of the great systems and software
that could be developed.
However, it is to Intel's advantage for
the 68000 and 32032 worlds to remain in
disarray. After all, as long as you can
keep Borland's Sidekick in your camp,
you can sell a lot of processors. I see
these programs like this as the primary
reason that people are purchasing 8086
based systems.
If that seems like an overstatement, re-
member it wasn't very long ago that a
major share of Apple purchases were
solely a result of a newfangled program
which created electronic spreadsheets. It
was called VisiCalc.
Two Positions Open
First: I am looking for a person who is
familiar with the innards of the Kaypro
or Big Board and who would enjoy help-
ing people who call or write for technical
information. This is a VERY important
position and the successful applicant
will have final say on new product docu-
mentation and will be responsible for re-
visions of current materials.
Second: I am looking for an executive
administrator. This person must have
experience as an administrator or group
manager of a high-tech start-up. I am
looking for someone to handle business
details and establish office procedures. A
history of success as an administrator is
vital. I would definitely consider a re-
tired ex-CEO.
Please call me between 10am and
noon, Pacific time, if you know someone
who might fill either of the above posi-
tions.
Afternoons are for Writing
It is now 10:13 pm Saturday but most
of this evening's work is still ahead of
me. I have put in regular 12+ hour days,
6 and 7 days a week for over three years.
I am going to have to cut that down to
something resembling 40 hours a week
before they cart me off to the place where
all the jackets are sleeveless and all the
doors lock from the outside.
Finding an administrator and techni-
cal assistant should help a great deal, but
I still need a solid 20 hours per week just
for writing and I'm not getting that time
at the office. The primary problem is the
phone.
So, I'm going to be disappearing in the
afternoons to get my writing and editing
done. Hopefully, this way, the articles
will be more accurate and the copy will
read more easily. I can tell by reading a
back issue just how bleary-eyed I was
when I shipped off the copy.
Staff Changes
Tony Ozrelic (LA Software and C'ing
Clearly) and his wife, Becky, have
moved up from Los Angeles to join the
Micro C staff. Tony will be working on
new articles, disks, and other products.
Becky will be taking Eric Belden's posi-
tion as assistant editor (she'll be reach-
able in the mornings also). (Eric Belden
has been offered a full-time teaching po-
sition at Central Oregon Community
College and I'm tickled for him.)
Article submissions and enquiries
about article ideas should be directed to
Becky.
There is no Dana (to quote Ghost Bus-
ters). Actually there is no Dana here. You
see, he and Renee have gone home to
Wisconsin to have their first child. We're
really excited for them but we really miss
them too. Dana is working for us re-
motely during this neat time.
David Thompson
Editor & Publisher (& Exhausted)
Micro Cornucopia, Number 20, October 1984
61
On Your Own
By David Thompson
What's in a name. Nothing and ev-
erything. Your choice of name for your
company and product can make the criti-
cal difference between floundering and
making it. In fact, some companies take
naming so seriously that they are willing
to spend $40,000 or more to have an out-
side company handle the task.
If you don't have $40,000 to shell out,
maybe the following will help.
Generally, you want your bedroom-
based start-up to sound like an estab-
lished, solid, secure, technically compe-
tent, easy to remember, company.
A while back, a close friend of mine
was designing a house controller system
in which the control modules communi-
cated with the computer through the
120V wiring. He was concerned about
his ability to market his product because
his business was squeezed into half his
living room while his competitor had an
ugly old cement-block building embla-
zoned across three folds of a mailing
piece. (Actually, his competitor was do-
ing him a favor with that mailer!) All he
needed was a good product, a good
name, and a well designed mailing piece
and there would have been no competi-
tion.
Look, you know how small you are —
your accountant knows how small you
are — but no one else needs to know (and
that includes your mother). If you have a
good product and you are responsible to
your customers then it doesn't matter
how small you are.
Sometimes it's an advantage to have
the name closely related to the product,
other times it is not, especially if the
name really limits where the company
can go.
So:
Don't use "enterprises." or "associ-
ates."
Don't use initials, just to use initials. If
you are going to use initials, make them
work for you, like the computer compa-
ny that selected the name MBI. Say MBI
to yourself a few times, it has a certain
solid ring to it doesn't it? Now say it
backwards and you'll see why it sounds
so solid.
Don't use, Son, Brother, Daughter, or
Father (sorry pop).
Don't use a name that will limit you.
Notice, for instance, that Software Pub-
lishers became SWP. If your name were
Motel Computers, you'd have to change
it as you began to branch into more gen-
eral purpose computer systems. But
within the motel field, you'd probably do
quite well.
The name "Compaq" was brain-
stormed by one of those expensive name
shops (they spent months researching
dictionaries and the computer field
searching for bits and pieces to paste to-
gether.
They had been asked to come up with
a name for a portable computer and the
name was to promote a feeling the the
unit was a very solid, state-of-the art
system. It also had to be easy to say and
remember.
They settled on the name "Compact"
and then changed the ending to q to add
the feeling of high technology. It worked
incredibly well, and the company sold
more product in their first year than any
other company in history.
What if they had named it the Dul-
mont? Where would they be? Don't
laugh! There is a portable computer
called the Dulmont being imported from
Australia. Which would you buy? If you
bought a Dulmont, would you admit it in
public?
"I really love my Dulmont!" you'd
say, "It's the greatest thing since they
started putting square tubes on TVs."
The name "Dulmont" sounds "dull"
and the "mont" no doubt means it was
designed during the 1950s and pur-
chased at Montgomery Ward. Just close
your eyes and try to imagine a "Dul-
mont" and then try to imagine a "Com-
paq." See the difference? Which one
would be easy to carry? Which one
would need rabbit ears? Which one
would you find at your local landfill?
(However, let me break the name im-
age. The Dulmont weighs in at 8 lbs, has
an 8 by 80 liquid crystal display, fits in a
briefcase, and uses an 80186 processor.
In reality, the Dulmont is higher tech
and more compact than the Compaq, but
as a dealer or a distributor I wouldn't
touch it until they changed the name.)
Micro Cornucopia is too long, too hard
to pronounce, hard to spell, and hard to
remember. It doesn't sound like a tech-
nical journal. However, as you will see,
the name has some redeeming qualities
(just as "Dr Dobbs"). (A name should
even have a rhythm that makes it easy to
understand and easy to say.)
Good Names
I've chosen a few names that I like: LA
Software (Sounds substantial), Uni-
FORTH (easy to say, explains the prod-
uct), The Code Works (neat pun),
RealWorld Software (sounds substantial
but also laid back, sort of a programmer's
name).
Bad Names
Overbeek Enterprises: This company
used to call itself RealWorld Software but
the real owner of the name claimed it, so
Overbeek chose his own (unfortunate-
iy).
BEE.MOR Enterprises: This is a case
where MOR is definitely less (sounds
like a mail order self-improvement
course). I'd buy a Delphi Winchester
System in a minute but I sure wouldn't
admit it was also called a STOR.MOR. I
think they should "Think. MOR."
Insight Enterprises: I have trouble
with this name. It doesn't flow, it breaks
the rule about using "Enterprises", it
doesn't mean anything related to tech-
nology, and it's hard to remember. (I al-
so understand that they have gone out of
business.)
ROMAC SCULL-TEK: This name is so
full of negative feelings that I doubt it is
repeated during daylight hours. RO-
MAC is definitely the name of a Mission
Impossible villain and everyone knows
what a scull is. Put them together and
this system will get very little word-of-
mouth advertising.
Names with Problems
Digital Research Computers: Too
long, too easy to confuse with Digital Re-
search of Cal, but the similarity can be an
advantage too.
Slicer: Close to a connection with bit-
slice speed but not quite there (though it
is definitely growing on me).
Integrand: Does it sound like a small
cabinet or a large piano?
Phenix: How does it spell, what does it
sell, does it rise from ashes even when
it's misspelled? Still, it lends itself to an
image of a large ancient bird which is not
62
Micro Cornucopia, Number 20, October 1984
bad. Not bad.
CAL-TEX: Many still think it's
CALTECH when they hear it on the
phone, and there is no computer rela-
tionship here. However, the use of the
two states gives the impression of a large
company.
Big Board: This name just sort of
popped up in a conversation between
Jim Ferguson and the technician who
was bringing up prototypes of this neat
system. However, at the time it was in-
troduced, it was really a compact, state
of the art system with lots of memory
and a fair amount of speed. The name
"Big Board" did this system a disservice.
The name is easy to say but for me it im-
plies something large and ponderous or
something relating to the NY stock ex-
change.
Of course, now the board has a large
following (10,000+ boards I hear) so the
name is definitely known. However,
what if it had been called the "240" or
"SuperTek" or something similar? "240"
may surprise you but this number has
long been known to give the impression
of compactness and speed.
Micro Cornucopia
As long as I am going to pick at a few
sacred names I may as well take a stab at
Micro C.
Sandy and I spent a number of months
agonizing over the name of our new
magazine. For a while we considered
calling ourselves BBUG (the Big Board
User's Group).
Micro C probably would definitely not
be as big now if we had chosen BBUG.
Even during our first year, many of our
subscribers had systems other than the
Big Board. If you think Micro Cornuco-
pia sounds strange, think about people
telling each other about a bug with a
stutter.
As I mentioned earlier, Micro Cornu-
copia has a few problems as a name. It's
long, it's hard to spell, and it's hard to
pronounce.
The word Cornucopia (means horn-
of-plenty) commonly appeared on the
marquee of general stores in rural fron-
tier America. This image of an old-fash-
.ioned, small-town general store that
supplies everything from staples to
shoelaces, really fit our image of Micro C.
We planned to include information to
meet a plethora of very specific needs (as
opposed to the general interest maga-
zines which supplied very little informa-
tion to a very great number of people).
However, because of the name, many
people are surprised when they see their
first issue. They expect a dozen pages
run out on a dot-matrix printer. Unfortu-
nately, our name contributes to that ex-
pectation.
We've chosen to keep Micro C laid-
back and unslick (our high-quality non-
shiny paper costs as much as the slick
variety, but it's easier on the eyes). Our
graphic style fits the informal style of the
articles and the columns. We provide a
place where people can share informa-
tion. (That's a big part of a general store
right?) We have had some growing pains
(every small business does) but I think
that the name has helped us maintain
our original feel. (I can still imagine the
original "Dr Dobbs" making house
calls.)
Perhaps we could have chosen a better
name for our magazine, but like the Big
Board, we're not apt to change it any
time soon. (And I kind of like the sound
of "Micro C")
Knowledge And Mind Amplification System.
A unique blend of familiar productivity tools with dynamic new ones:
D Outline Processing lets you organize your ideas in a familiar outline form.
D Information Retrieval keeps your thoughts at your fingertips with astonishing speed.
D Word Processing fills out the structure of your ideas with text.
D Telecommunications lets you set up a structured, electronic bulletin board.
D Programming Environment lets you get under the hood and extend your horizons.
It all adds up to awesome Knowledge Processing power. Your chance to join the next
wave of the integrated software revolution.
Available for CP/M, Z80 systems. Special introductory offer: $ 1 47. Send now for your free
copy of The KAMAS Report.
COMPUSOPHIC
SYSTEMS
Dept. 1 1 2 • 2525 SW 224th Ave.
Aloha, Oregon 97006 • (503)649-3765
KAMAS is a trademark of Compusophic Systems. CP/M is a registered trademark of Digital Research, Inc. Z80 is a regis-
tered trademark of Zilog, Inc.
Micro Cornucopia, Number 20, October 1984
63
LETTERS
(continued from page 3)
Dear Editor,
After owning a "blue lunch pail"
(Kaypro-II) for just under one year and
after 650 hours of use, I received a
"BDOS Err on B:" message, the B drive
was out. After going through the "User's
Guide" Technical Information Trouble-
shooting sequences, and telephoning
my local dealer's tech-rep, we seemed to
agree that the drive was probably out of
alignment. Into the shop. What the heck!
A telephone call two days later gave be
the bad news: He discovered that
B:Drive had a bad stepper motor, and
was forced to replace the drive assembly.
When I picked up my machine, I in-
quired if there was something I had done
to abuse the drive. "No," was the an-
swer. He reported that their service de-
partment got about ten similar problems
per month.
Did I do something to abuse the drive?
Blue Max lives in a non-smoking, fairly
well dusted (air blown) environment.
The heads were reportedly, "... not
particularly encrusted . . ." At a $250 ser-
vicing/repair fee, I don't want to experi-
ence that feeling too many more times.
It's kinda like taking the Bug into the
shop for a tune-up and feeling that sink-
ing feeling in the pit of your stomach as
the mechanic tells you about the valve
job you need. And feeling about as help-
less when you don't know the mechanic
and don't understand what a valve is.
Especially as I read the ad on page 20 of
Micro C #18, "... stepper . . . $10-$25."
Ouch!
Now I guess, like Gary Stookey in the
letter box, I have to learn how to "...
have my head fitted with a 100MB hard
disk . . ." and struggle to fix my equip-
ment myself. What we need, out here, is
a computer version of John Muir's "How
to Keep Your Volkswagen Alive," a man-
ual of step by step procedures for the
compleat idiot.
George (Bear) Stevenson
the appropriate pads. It is a simple mat-
ter to solder a 16 pin socket into these
holes. Once the socket is in, make the
following connections:
Jumper pads 8, 12, and 13 together.
Jumper pad 1 to J6 pad 6 (not normally
connected).
Jumper pad 2 to J6 pad 12 (connected
toU71pad8).
Jumper pad 3 to J6 pad 10 (connected
toU71pad6).
Jumper pad 4 to J6 pad 14 (not normal-
ly connected).
Bend out pins 6 and 8 on U71 and pins
14 and 15 on the 7445. If you don't bend
out pin 14, the system freaks!
Jumper U71 pin 6 to pin 14 on the 7445.
Jumper U71 pin 8 to pin 15 on the 7445.
Insert the 7445 into the socket, and
power the system. This is a simple modi-
fication and costs about $2.00.
Brett D. Johnson
975 Yakima Drive
Fremont CA 94539
Editor's note:
Thanks for the tip <!
Dear Editor,
Here's another approach to the Plus-4
Decoder Board.
On my board, the Kaypro people de-
cided to leave out a chip which was right
next to the drive connector. However,
they did supply power and ground to
Dear Editor,
There are a couple of quirks in SB ASIC
(or what I, in my innocence, would con-
sider quirks). First, I have only just real-
ized, after reading the evidence over and
over, that character variables can be set
and checked using integers. I am a little
embarassed to admit it took me this long
to find out. This makes the character var-
iable a sort of crossover between strings
and integers. Instead of:
WHILE Y>CHR(13) DO BEGIN
we can write:
WHILE Y>ODH DO BEGIN
Not one of your earthshakers, per-
haps, but a revelation to yours truly.
This opens up new possibilities for the
CASE . . . OF statement that were not
available before. The statement would
not accept the comparison of a character
to, for example, "CHR(13)", without
balking, at least as I remember. I would
suppose that there would not be a prob-
lem with comparison to an integer.
The other quirk is a bug, pure and sim-
ple. When using the TEXT statement,
the program ignores CTL. .9 (tab) charac-
ters. The fix, of course is to use spaces.
Another quirk, while I am on the sub-
ject, is the result of SBASIC using its
own file access routines. If you program
in lower-case, and I'm leaning that way,
you may accidentally type in a file name
in 1/c, whereupon you can't get the
damn thing in CP/M.
By the way, I now have all three of the
Kaypro manuals on SBASIC, and unless
I'm mistaken, they're all the same book,
except for book one's notes on B-trees.
Book two rearranges the book one chap-
ters, omits B-trees, and uses "publish-
er's font" instead of typewritten pages.
Book three seems simply to be a more
fashionable size (it's 7X9 instead of
8X11). So much for progress, except that
books two and three are much easier to
read.
But I'm happy with them. I haven't
had so much fun since the cube, and ev-
ery day I find another gem. Today's?
Well I've been going over the file-han-
dling section again and finally noticed
that Ohnysty has made it possible to
overlay variables, characters and strings,
and file buffers. What elegance! What an
economizer! How sweet it is!
Dan W. Kingery
Box 1406
Renton WA 98057
Dear Editor,
I am looking for a source listing for the
BIOS for the Kaypro-II. I was told by
Non-Linear Systems that you can pro-
vide this information. Is this available on
disk. Please respond with cost.
Robert L. Murphy
3500-8 Warwick Dr.
Lexington KY 40502
Editor's note:
Actually, Kaypro (Non-Linear) sells the
BIOS source as part of their copyrighted tin-
ker kit. Try them again and tell them Micro C
sent you. (Your dealer might already have a
copy and might let you borrow a printout so
you can see what is going on.)
64
Micro Cornucopia, Number 20, October 1984
NEW LOWER PRICES!
NEW LOWER PRICES!
"BIG BOARD II"
4 MHz Z80-A SINGLE BOARD COMPUTER WITH "SASI"
HARD-DISK INTERFACE
NEW LOWER PRICES!
$545 ASSEMBLED & TESTED
$145 PC BOARD WITH 16 PARTS
Jim Ferguson, the designer of the "Big Board" distributed by Digital
Research Computers, has produced a stunning new computer that
Cal-Tex Computers has been shipping for a year. Called "Big Board II", it
has the following features:
■ 4 MHz Z80-A CPU and Peripheral Chips
The new Ferguson computer runs at 4 MHz. Its Monitor code is lean, uses Mode 2
interrupts, and makes good use of the Z80-A DMA chip.
■ 64K Dynamic RAM + 4K Static CRT RAM +
24K E(E)PROM or Static RAM
"Big Board M" has three memory banks. The first memory bank has eight 4164 DRAMs
that provide 60K of user space and 4K of monitor space. The second memory bank has
two 2Kx8SRAMs for the memory-mapped CRT display and space for six 2732As, 2Kx8
static RAMs, or pin-compatible EEPROMS. The third memory bank is for RAM or ROM
added to the board via the STD bus. Whether bought as a bare board or
assembled and tested, it comes with a 2732 EPROM containing Russell Smith's superb
Monitor.
■ Multiple-Density Controller for
SS/DS Floppy Disks
The new Cal-Tex single-board computer has a multiple-density disk controller. It can
use 1793 or 8877 controller chips since it generates the side signal with TTL parts. The
board has two connectors for disk signals, one with 34 pins for 5.25" drives, the other
with 50 pins for 8" drives.
■ Vastly Improved CRT Display
The new Ferguson SBC uses a 6845 CRT controller and SMC 8002 video attributes
controller to produce a display rivaling the display of quality terminals. There are three
display modes: Character, block-graphics, and line-graphics. The board emulates an
ADM-31 with 24 lines of 80 characters formed by a 7x9 dot matrix.
■ STD Bus
The new Ferguson computer has an STD Bus port for easy system expansion.
■ DMA
The new Ferguson computer has a Z80-A DMA chip that will allow byte-wise data
transfers at 500 KBytes per second and bit-serial transfers via the Z80-A SIO at 880 Kbits
per second with minimal processer overhead. Vhen a hard-disc subsystem is added,
the DMA chip makes impressive disk performance possible.
SIZE: 8.75" x 15.5"
POWER: +5V @ 3A,
-12V@0.1A
■ "SASI" Interface for Winchester Disks
Our "Big Board II" implements the Host portion of the "Shugart Associates Systems
Interface." Adding a Winchester disk drive is no harder than attaching a floppy-disk
drive. A user simply 1 ) runs a fifty-conductor ribbon cable from a header on the board to
a Xebec controller that costs only $295 and implements the controller portion of the
SASI interface, 2) cables the controller to a Seagate Technology ST-506 hard disk or
one compatible with it, and 3) provides power for the controller-card and drive. Since
our CBIOS contains code for communicating with hard-disks, that's all a user has to do
to add a Winchester to a system!
■ Two Synchronous/Asynchronous Serial Ports
With a Z80-A SIO/O and a Z80-A CTC as a baud-rate generator, the new Ferguson
computer has two full RS232-C ports. It autobauds on both.
■ A Parallel Keyboard Port + Four Other Parallel
Ports for User I/O
The new Cal-Tex single-board computer has one parallel port for an ASCII keyboard
and four others for user-defined I/O.
■ Two Z80-A CTCs = Eight Programmable Counters/Timers
The new Ferguson computer has two Z80-A CTCs. One is used to clock data into and
out of the Z80-A SIO/O, while the other is for systems and applications use.
■ PROM Programming Circuitry
The new Cal-Tex SBC has circuitry for programming 2716s, 2732(A)s, or pin-
compatible EEPROMs.
■ CP/M 2.2**
CP/M with Russell Smith's CBIOS for the new Cal-Tex computer is available for $150.
The CBIOS is available separately for $25.
"CP/M is a registered trademark ol Digital Research.
CAL-TEX COMPUTERS, INC.
780 E. TRIMBLE ROAD #504 • SAN JOSE. CA 95131 « (408) 942-1424
Terms: Orders paid for with a cashier's check or bank card will be shipped within three
working days. Orders paid for with a personal check will be shipped within three weeks.
Add $5 for packing & shipping in North America.
Micro Cornucopia, Number 20, October 1984
65
mm sis
The following folks are reaching you for
only 20 cents per word. If you would
like to reach the same audience, send
your words and 20 cents for each to Mi-
cro Cornucopia.
Full size photo copy of bare Big Board I
(both sides). Invaluable for finding traces
under ICs! Send $1.00 to: Carl Jones, 459
Alexandra Way, Grass Valley CA 95945.
SOFTWARE Z80 assembly language
quiz, 100 questions. Use it as a fast re-
view, serious study, or game. Self-
prompting. Choice questions. Keeps
track of score. On 8" SSSD disk for a
Z80-64K CP/M 2.2 computer, NEW
PRICE $16.95. (US funds) Send check/
m.o. USA & Canada. Z-QUIZ, PO Box
3775, Stn B, Winnipeg, Manitoba Cana-
da R2W3R6.
Z80 MICRO-CONTROLLER parallel 1/
O, keypad commands. Complete plans
and ROM monitor, NEW PRICE $29.95.
Also source & doc on 8" SSSD disk, use
with a Z80-64K CP/M 2.2 computer,
NEW PRICE $19.95. Build-N-Learn how
controller hdwe/sfwe controls ma-
chines/robots. (US funds). Send ch.l
m.o. to: ZMC, PO Box 3775, Stn B, Win-
nipeg, Manitoba Canada R2W 3R6.
BBI ROM Terminal Emulator. Menu-
driven selection of SIO port, baud rate,
parity, etc. Interrupt-driven I/O loafs at
9600 baud. Uses one EPROM slot. $29.95
ppd ($34.95 for 2716-1). Unified Soft-
ware Systems, PO Box 2644, New Car-
rollton MD 20784.
Public Domain UG Software Rental: CP/
M UG Vol 1-92 on 46 8" Flippies $45.00,
SIG/M UG Vol 1-176 on 85 8" Flippies
$90.00, PICONET Vol 1-34 on 17 8" Flip-
pies $25.00, Pascal-Z UG Vol 1-25 13 8"
Flippies $20.00, UG Games 20 Vols of the
best ones $20.00, UG Modem 20 Vols of
the best $20.00, UG Business 20 Vols of
the best $25.00, UG Utilities 10 Vols of
the best $20.00. Rental is for 7 days after
receipt with 3 more days grace for re-
turn. Credit cards accepted (preferred).
5" disk formats also available. Down-
loading-disk format conversions. Call.
User Group Software Automatic Update
Service - $7.50 per 2 volume set PP. 619-
727-1015 24 hrs. 619-941-0925 info. P.J.'s
National Public Domain Software Cen-
ter, 1533 Avohill Drive, Vista CA 92083.
SUPERB MAILING LIST PROGRAM
stores and manages names and address-
es that can be revised at any time. Its size
is limited only by the disk storage avail-
able. The address labels may be code se-
lected and printed in five different for-
mats on your computer paper or on label
rolls. In addition to the name and ad-
dress fields there are four additional
fields in each record for telephone num-
ber, date and two amount fields if de-
sired. At any time the entire roster may
be printed out. For CP/M 2.2 based sys-
tems with two disk drives and printer ca-
pable of 132 columns for maximum us-
age. Terminal installation program
module included. Supplied on 8" SSSD,
5.25" Kaypro and many others (please
write). Special introductory offer by
ABLE DATA SOFTWARE INC., PO Box
86923, Station C, North Vancouver, BC
V7L 4P6. Only USA $19.95 postpaid
check or money order.
GEMINI/EPSON Finally, put an end to
programming hassle! Set up printer us-
ing single keystrokes from menu. Avail-
able immediately for CPM/80 (Kaypro
Format) and CPM/86 (IBM PC Format).
Package includes .COM program and
source code. As a bonus, source code for
insertion in your program to allow
changes "on the fly" for applications
such as subscripts is also included. Send
$10.95 to: ARLYN Software Dept. M,
Route 4 Box 27, Corral Park, Grayson KY
41143.
JRT PASCAL 3.0 OWNERS: All is not
lost! A new product, PASCAL POWER,
makes developing JRT Pascal programs a
breeze. A full screen menu development
environment automates the edit, com-
pile, test cycle. PASCAL POWER uses
your editor, so you don't have to learn a
new editor. The Module Manager in-
sures consistent type, const and external
procedure declarations between JRT
modules. Become a beta customer for
this new product and you will receive
PASCAL POWER at a lower price and all
future updates free! You will receive a
questionnaire for your valuable feedback
on our product. PASCAL POWER is for
JRT Pascal 3.0 owners, CPM/80, Kaypro
and most popular formats. State disk
format. Send check or money order for
$14.95 to PASCAL POWER, PO Box
1540, Crestline, CA 92325. Calif, resi-
dents add 6% sales tax.
public domain software available by
mail. A very informative monthly news-
letter with NO ADS, featuring articles on
modifying your Kaypro and many offers
from distributors for group discount
purchases. TAMPA BAY KAYPRO US-
ER'S GROUP, 14 CYPRESS DRIVE,
PALM HARBOR FL 33563. One year
membership with password ID# for ac-
cessing both RCP/M systems (300/1200
baud) $25.00.
BIG BOARD, XEROX 820'S, 16/8;
REAL TIME CLOCK: MICROCRON is
assembled, adjusted and comes with ex-
tensive software collection, timestamp
files, printouts, dBASEII-$69. EPROM
PROGRAMMER: EZPROMMER is by
far the best value for versatility and con-
CPAK4 Three programs, main program
and two utilities. Fast data encryption,
automatic key generation, histogram
utility to check security. IBM/PC/DOS
and Kaypro-II formats. FREE for cost of
disk and postage, $7.50. Security Tech-
nologies, 2752 Kaaha St., Suite 407, Ho-
nolulu HI 96826.
Big Board I System for sale. Commercial
enclosure, 15" green screen, hall-effect
keyboard, 2 Shugart drives, lots of soft-
ware - $650.00. Also, 2 new Shugart
801's-$100.00 each. Donald Smith, 39646
Trinity Way, Fremont CA 94538. 415-
657-9435.
MT.COM a NEW SUPER MATH DRILL
program for Kaypro. Also included RE-
PORT. COM with source written in SBA-
SIC. REPORT lets you monitor progress
of drills with screen or list out-put. Send
$29.95 to: J-ONE-S, Box 513, Gloster MS
39638.
TANDON 101-4 Kaypro Quad Density.
Use Micro C's ROM and get 784K per
drive. Like new and checked out. $140
plus 6% tax and shipping. Mike Hagen,
303 Esther St, Costa Mesa CA 92627.
714-645-1929.
KAYPRO SOFTWARE, hardware infor-
mation, technical updates, and two
RCP/M systems with 26Mb of on-line
storage. The Tampa Bay Kaypro User's
Group has the largest public domain li-
brary and more current Kaypro-specific
programs than KUG. The TBKUG can be
of benefit to members without modems,
all TBKUG User Disk volumes and other
66
Micro Cornucopia, Number 20, October 1984
ENGINEERING SOFTWARE
CPM-80 • MSDOS • TRSDOS • PCDOS*
,10***°
AC NAP
Sj>£>
Free Catalog
Dealer Inquiries Welcome
Professional — Affordable
PLOTPRO — Scientific Graph Printing Program S49.95
ACIMAP — Electronic Circuit Analysis Program $49.95
SPP — Signal Processing Program $59.95
* 96 computers and formats including IBM look-alikes.
8087 co-processor (slightly more), and Apple with
CP/M. Include $3.00 ($9.00 Foreign) shipping and
handling with each program. California add 6%.
BV Engineering
Box 3429 • Riverside, CA 92519 • (714) 781-0252
WANT ADS
venience-A&T $125. DRIVE CONTROL
UNIT: Xerox chose our design for their
820's. We have a version for the 820 that
doesn't require soldering from $29.95 to
$65. WORDSTAR ENHANCEMENT:
SPEEDSCREEN speeds up screen access
and allows bright/ dim with blinking cur-
sor for the 820-11 version- $29. 820-1 SU-
PER MONITOR: Prom set enhances
standard monitor with terminal mode,
soft boot, clock, features rich at $29.95.
Call or write for details and product sup-
port, VISA, MC. OPTRONICS TECH-
NOLOGY, PO BOX 81, Pittsford NY
14534. 716-377-0369.
Wanted, Old Kaypros. The Micro C
technical staff has run out of older Kay-
pros that even vaguely resemble original
factory issue. So we are looking for a
couple of older (a little worn around the
edges OK) Kaypro lis or 4s (pre-84) to
practice on. Must be cheap and in rea-
sonable working order (will consider
units with flaky drives or other prob-
lems).
SAVE MONEY on new microcomputer
gear. Get Schultz's List, the bimonthly
report of best current prices. We search
for the great deals; you get top equip-
ment cheaply. Why waste more money?
Concisely covers thousands of products:
systems, terminals, monitors, drives,
cards, printers, modems, software, ac-
cessories, supplies. Single report only
$9.95; save 33% order year's service (six)
for $39.80. All postpaid and guaranteed
from Owen Schultz, POSTROAD
PRESS, INC., 635 Day Avenue 3SW,
Roanoke VA 24016.
EXPAND YOUR BIG BOARD
GIVE YOUR BBI A PRESENT: EXPAND IT1
This versatile expansion system features a Z80 daughter board for direct "on the bus"
expansion of memory and I/O. The main board allows you to add on the most popular Big
Board accessories all on one board:
BANK-SWITCHED MEMORY: 6^K to 1 Mbyte of dynamic RAM with "delay
line" timing and 8K to 32K of EPROM or battery-backed STATIC RAM.
Advanced "HOLE" memory mapping for ultra-fast RAMdisk operation.
Z80 I/O: One SIO, two PlOs, and one CTC. The SIO and PIOs are fully
buffered with the same header connections as the BB I.
OTHER I/O: One ADC0808 8-input 8-bit A/D converter, two DAC 800 8-bit
D/A converters, one AY- 3-89 10 programmable sound generator, and one
MM58167 battery-backed real-time clock.
* SIMPLE PIGGYBACK INSTALLATION - NO MODIFICATIONS TO BB I NEEDED! *
Main board is the same size as the BB I and runs at 2.5 or k MHz
Versatile connection scheme allows for further expansion
RAMdisk software provided (.COM and .MAC) for SWP DD or standard DRC CBIOS
It installs a 250K. drive M: and patches the MM58167 as the clock display. The patch can
be easily modified for other types of CBIOS. Also included are system checkout and
utility software.
All parts (except delay line) are easily obtainable. We provide source lists. Pro-quality
schematics on two large blueprints for easy reference.
$99.95 Bare daughter and main boards (solder-masked and silk-screened),
documentation, and 8-in. SSSD software disk
$16.95 Delay line
Shipping and handling, add: U.S.A., $5.00; Canada, $8.00. Sorry, . no other exports.
Check or money order only; no CODs. Delivery: stock to 6 weeks.
For free 5-page spec sheet, please write or call:
Rivendell Audiocomp, P.O. Box 28937, San Diego, CA 92128
Rivendell Audiocomp
Custom Audio and Computer Design 619-451-3424
BIG BOARD
COLOR GRAPHICS
$9095Bare
A m Board
TMS 991 8 A Based Graphics System
256H-192V * 16 Colors
*32 Simultaneous Fast Moving Sprites
* Composite Video Output
* Highest Quality PC Construction
• Software Includes Character & Sprite Editor
Demo Program In Pascal & Basic
• Drivers Are Above The Monitor For Use
With High Level Languages
Requires 1 trace cut and 1 jumper (see adding 6K of Ram MicroC#7)
Plugs Into U70 (U70 Still Available for Prom with Jumper)
TAAS9918A Graphics Chip $ 34 95
HI Check * Money Order * COD Eg*
GRAPHTECH
P.O. Box 1185, McPherson, KS 67460 — (316) 241-6330
Call for Availability & Price of Parts Kit
Kansas Residents Add 4% Tax/Include $3 For Postage & Handling
Allow Four to Six Weeks for Delivery
Micro Cornucopia, Number 20, October 1984
TECHNICSI, TIPS
BBI Horizontal Video Fix
I am surprised that nobody has sent in
a fix for the lousy video on the Big Board.
The video combiner produces a signal
which allows all the horizontal portions
of the characters to "trail off" like the tail
of a comet. Capacitor C142 peaks the
video, but it overdoes the job. On the
other hand, some kind of compensation
is needed. I got good results by parallel-
ing this 33pf capacitor with a 3000 ohm
resistor. This allows the horizontal bars
on 'E/ 'F,' 'H/ 'L,' etc. to maintain bright-
ness throughout their length. Some
work is still needed to get the displayed
screen width wider, but this is a good
beginning.
BBI Video Fix
DB^
'33pf
3K
R2I
-VW-
I.5K
J6 PIN2
-OVIDEO
OUT
74LS86/
74LSI36
<-ADD3K
R26
4.3 K
Doug McGarrett
190-15 111th Avenue
Jamaica NY 11412
Guest Speaker for Kaypro's Internal
Modem
How about a speaker on that Kaypro
484 internal modem? The speaker will fit
next to the fan, where the case has been
slotted. Silicon caulking can be used to
secure it to the case once the wires are
connected. The volume control will
mount above the speaker and next to the
reset switch. This is a handy place since
most Kaypro owners are familiar with
the location of the reset switch (because
of all those whiz bang new programs
that crash the system).
Installation
Very carefully, with the power cord re-
moved, drill a hole for the volume con-
trol. Be sure to remove all the metal
shavings from inside the 484 and make
sure none got into the fan.
Resistors RIO and R13 are necessary to
change the gain of the LM324 to drive the
speaker. Shunt RIO (20K) with the 10K
resistor from the parts list. Remove R13
and insert the 1M resistor in its place.
Connect one end of the luf capacitor to
E19. Connect a wire from the other end
of the capacitor to the high side of the
volume control. Connect the volume
arm to one side of the speaker and con-
nect the other side of the speaker to 5V
common, available at the power connec-
tor for the drives.
Parts required:
1 39 ohm speaker,two inch dia.
1 luf 10VDC capacitor,DC isolation
1 500 ohm Potentiometer, volume Ctrl
1 10K ohm, 1/4W resistor
1 1M ohm, 1/4W resistor
Figure la - Component Locations
J5- PARALLEL PORT
X XXX
T
T
EI.9
TT
— | RI3 [ — »
X
T
□
PHONE
LINE
XFRMR
Figure lb - Speaker Circuit
s» I00K
REPLACE R13
WITH 1M/L
Michael G. Veilleux
1110 W. Winston Dr.
Santa Maria CA 93454
805-922-3318
UnProtecting MBASIC Files
Ever protect an Mbasic file with the
",P" option either by mistake or on pur-
pose and then wished that you hadn't
done that. Here is a quick way to UNpro-
tect any Mbasic program running on
your Kaypro.
You will need DDT.COM, MBASIC-
.COM, and the protected file on a disk,
and then simply follow the directions
listed in figure 2.
Figure 2 - UnProtecting MBASIC File
A0>DDT MBASIC.COM
DDT VERS 2.2
NEXT PC
6000 0100
-S80
0080 79 00
0081 20 .
-G
OK
LOAD "filename" (protected file)
LET DDT=&H38
OK
CALL DDT
*4D6A
-S0BEC
0BEC FE 00 (note:
the FE must be here)
0BED 00 .
-G
OK
SAVE "filename", A
SYSTEM
MBASIC filename
LIST
Your file should list now. Note that
underlined characters are entered from
the keyboard. The object is to change the
Byte FE located at &H0BEC to 00; this
unprotects the file and it may be saved in
ASCII format again.
Mike Loth
Po Box 847
Steamboat Springs CO 80477
68
Micro Cornucopia, Number 20, October 1984
TECHNICAL TIPS
Additions to the PFM-80 Boot Routine
Following a RESET, control of the Z80
on the Big Board is transferred to loca-
tion 0000 where a short boot routine cop-
ies the PFM-80 monitor from EPROM to
RAM starting at location F000. This boot
routine (actually a Z80 block move com-
mand) copies the first 2K bytes but by
changing one byte it can be made to copy
4K. That is, it will also copy the contents
of a second EPROM (U68) to RAM start-
ing at location F7F0. The byte to alter is
EPROM address 0009. Change the con-
tents of this location from 08 to 10.
This modification allows additional
routines (such as a printer driver) stored
in the second EPROM to be booted up to
the correct address, together with PFM-
80, following a RESET. However, some
thought is needed before a second
EPROM can be used in this way.
First, there is not a simple correspon-
dence between EPROM addresses and
RAM addresses. This is because the boot
routine at the beginning of the EPROM is
not copied up to RAM. Therefore
EPROM location 0010 is the first one to
be copied.
The locations in EPROM that a routine
should be stored at (so that it arrives at
the correct RAM address) are listed in
figure 3.
Figure 3- RAM /EPROM
Offset
EPROM
RAM
1st 0010
Eprom 0011
F000
F001
07FE
07FF
F7EE
F7EF
2nd 0800
Eprom 0801
F7F0
F7F1
0FFF
FFEF
Certain areas of RAM are used by PFM-
80 for variable storage. These areas obvi-
ously cannot be used as they will be
overwritten by data. The locations to
avoid are FF00 to FFC7. This means that
0800 to 0F0F and 0FD8 to 0FFF in the
EPROM address space are available for
use.
So, as an example, if an additional
routine is to be located beginning at
RAM address FA00 then it must be
stored beginning at EPROM address
0A10.
You should find this method of adding
software to the Big Board more conven-
ient and professional than patching rou-
tines in from disc or squeezing them into
the CP/M BIOS.
By Richard H. Taylor
570 Gloucester St. Flat #3
Christchurch New Zealand
Notes on the Morse Code for the Kaypro
In the "Morse Code Interface for the
Kaypro" (Issue #17 Micro C), we've dis-
covered a few problems. In the listing,
line 140 should read INP (28) less than or
equal to 70, not just less than 70. Line 280
should contain 'J=6 TO 3*SI:', not 'J=6
TOK 3*SI:'. The DATA statements (310,
320, and 330) should be broken into
smaller DATA statements containing the
number of constants that will fit on one
line.
We've also been questioned about the
diagram of the transmit key (by the way,
a license is required to transmit). Based
on the letters and phone calls, the dia-
gram is correct for some keys and not
others, depending on whether your key
is negative or positive ground.
THE BIGGEST & BEST SBC
The Mega
Super
Computer
The Maxi Computer
512K of D-Ram with Parity-
Configurable as 8 Banks of 64K or as
a high speed Electronic Disk
Dual Density 1 or 2 sided Floppy Disk
Controller (WD2797)-8" or 5"
simultaneously - supports 3 drives for
4 MB's of DATA
Hard Disk Interface, ST506 or Priam
System on Board
• Six Serial Ports - with hand shaking
• 48 Additional Ports on I/O expander
BUS
• Math Chip (9511 or 9512)
• CTC & DMA
• Two Parallel Ports
• Z80B Runs at 4 or 5 MHZ
• ROMS/CPM/MPM and Turbodos
- CP/M 2.2 System 512K, RAM Disk (430K)
- CP/M 3.0 System 512K Bank
- MP/M 2.1 System 384K auto-boot for console (16 users)
- Turbodos 1.3, 128K (see Microsystem, Aug. 84)
SPECIAL HALLOWEEN PRICES
Total price for above systems $1099 — includes operating system and board
Hard disk 20 megabyte package for all systems above
All this on a multi layer card - with accurate documentation.
Bare Board - with documentation & Firmware (PAL) — $200
Users Manual — $25
Wave soldered assembled board without IC's — $375
MEGACO.
2248 S. Park Street, Madison, Wl 53713, (608) 255-7400
Micro Cornucopia, Number 20, October 1984
69
XEROX 820 USERS
NEED MORE I/O??
2 PIO'S
1 SIO
SASI INTERFACE
SOUND GENERATOR
REAL TIME CLOCK
USES THE NATIONAL 58167
REAL TIME CLOCK
Tl 76496 COMPLEX SOUND
GENERATOR
BARE BOARD $54.95
COMPOSIT VIDEO INTERFACE
BARE BOARD $19.95
WE ACCEPT
CHECK MONEY ORDER
MASTER CHARGE VISA
GRD TECHNIQUES
PO BOX 6383
BRIDGEPORT CT 06606
203-374-3660
SPEECH
SYNTHESIZER
FOR THE BIG BOARD
AND XEROX 820
^
l±=j/h=7/7/y7/V7/5
BIG VOICE KIT
1400 BUILT- IN WORDS PLUS
UNLIMITED PHONETIC SPEECH
CAPABILITY
DATA RATE: 3-5 bytes/sec typical
(2 bytes/word or phoneme)
PLUGS DIRECTLY ONTO GPIO "A"
BIG VOICE KIT INCLUDES '•
HIGH QUALITY BARE BOARD
1400 WORDS IN EPROM
USER /ASSY MANUAL w /schem.
SOFTWARE: WORD SOURCE,
DEMO & SUPPORT PROGRAMS,
ON 8 "sssd FLOPPY DISK
$70. kit / $150. ass'd & tested
all ppd. (Texas res. add 6%)
state whether B/B or XeroX
9910 LEAWOOD BLVD.
HOUSTON, TEXAS 77099
tel. (713) 495-6185
POWER SUPPLY
For the BIG BOARD and other SBC's
Assembled, tested and burned-in 48 hours
• + 5V @ 4A + DVP. 24 V <a 2.5A. ± 12V @ 2A
• All supplies have over-current protection
• Bell circuit and Piezo speaker (or BB
• Low line warning circuit - brown out
• Input 105-120 VAC 50/60 Hz & 1.0 A
• 4.5'H. 3.8"D. 11"L -5 lb.
$110
PLUS S5
S&H
DOUBLE DENSITY HARDWARE
DAUGHTER BOARD FOR THE WD2795 DSDD CONTROLLER
$ 29
$ 59
$ 79
KIT wrtnoul
WO ?795
COMPATIBLE WITH
•NT COMPUTER
USING WO 1771
ONLY St 00 S 1 H
h^P
AT LAST! DD SOFTWARE $25
SOLD WITH KIT ONLY
AMP
CONNECTORS
FOR YOUR
DISK DRIVE
KIT OF 2 EACH
WITH PINS
S5 Plus S1 S & H
r H K Big, Mouth
CALL MORNINGS
FOR DEMO
LISTEN! Your computer could be talking to you through the BIG MOUTH
from ASTROTRONICS. True speech synthesis tor ANY computer through
your printer port, (parallel or serial). Using our BIG MOUTH speech
synthesizer with its Z80 CPU and SSI-263 third generation phonetin
speech synthesizer.
• Text to speech • No software required
• Will run on any computer • 400 character buffer
• Embed phonemes in text lor those special words that don't fit the rules, names
foreign words etc.
• Programmable: vocal-tract frequency, inflection rate, duration pitch, articluation
amplitude... tor all 64 phonemes
• Can be programmed to make sound effects and can even be programmed it to
SING!
PCB & EPROM with Instruction
Complete PCB Kit with Instruction
Complete Kit Including Case Speaker & Power Supply
Completed Unit A & T
$59 + J1 S&H
S129 + S3 S&H
S159 + S3 S&H
$199 + $5 S&H
Coming next month a 56K smart Printer Buffer, order your own 'son of a buffer'
Kit for only $99 plus + S3 S & H
AstroTronics
MICROSYSTEMS
<& BIG BOARD
«\* tf
*V s
The "LA CAJA" Enclosure w/Power Supply
299
PLUS $20
S & H
IN STOCK!
STANDARD FEATURES INCLUDE
• Power Supply ^
5V & 4A + OVP. 24V (ft 2.5A. ± 12V Qi .2A
All voltages are current protected
• Reset Switch • Fan
• Key-lock Power • Solid State AC Relay
• Bell Circuit and Piezo Speaker
• 2 AC Outlets, One Switched
• Color. Beige and Chocolate
• 6 " H x 12" W x 16'" D 24"W for 2 Drive Unit
La Caja can be supplied fully wired for the Big Board
with all ports disk DC and timed AC for $150 00
NAKED! Yes now you can buy the LA CAJA stripped for only $119
fans, line fliers, etc. available. $15 S&H.
California residents add 6% tax on all items
(714) 734-6006
1137 TOPAZ ST
CORONA. CA 91720
70
Micro Cornucopia, Number 20, October 1984
OBDEBFEM
Micro C works because it is a central information exchange for
the doers in this crazy industry. So we encourage you to share
your trials and tribulations. That way we can invent new
wheels rather than redoing the old ones over and over.
What kind of exciting adventure (misadventure) are you
working on?
What information would you like to see in Micro C?
Quantity
Description
Price Each
Total
U.S.
Can & Mex
Other Foreign
SUBSCRIPTION (1 year— 6 issues)
□ New □ Renewal
□ $16 (Bulk)
□ $22 (1st Class)'
□ $22
(Air Mail)
□ $30
(Air Mail)
USERS DISKS - 8" SSSD, CP/M
#'s
$15
$15
$15
CP/M 86 DISKS -8" SSSD
#'s
$15
$15
$15
KAYPRO DISKS for the II, 4, & 10 - 5" SSDD
#'s
$12
$12
$12
BACK ISSUES
#'s
$3
$3
$5
OTHER ITEMS:
Prices inclu
□ Check or
(US fund
de media, package, 1st Class postage (Air Mail for O
money order enclosed
s only, payable on a US bank)
ther Foreign)
Make checks
MICRO COR
payable to:
NUCOPIA
TOTAL
ENCLOSED
Card No -
□ Visa □ MasterCard
Exp.
Signature
NAME
PHONE (?)
ADDRESS
CITY
STATE
ZIP
i
MICRO CORNUCOPIA • P.O. Box 223 • Bend, Oregon • 97709
(503) 382-8048
J
ADVERTISER'S INDEX
Advent Products 24
Arkon Engineering 25
Artisoft, Inc 50
Astrotronics Microsystems ... 70
BV Engineering 67
Barnes Research &
Development 43
Biegun & Associates 17
Borland International 54
Busch Computers 46
Cal-Tex Computers, Inc 65
Cascade Electronics 43
CompuSophic Systems 63
DG/Systems 28
Digital Dynamics 31
Digital Research Computers .. 7,
Inside Front Cover
ET Computer Systems 4
Emerald Microware 50
Ferguson Engineering inside
Back Cover
GRD Techniques, Inc 70
Graphtech 67
HSC, Inc 6,31
Haventree Software 19
Huntington Data Systems 35
Integrand 60
Kaypro Users Group 27
Kenmore Computer
Technologies 41
Komputerwerk 23, 46
L.A. Software 45
L-Band Systems 43
Linger Enterprises, Inc 41
Manx Software Systems Back
Cover
Mega Co 69
Micro Cornucopia 56,57,
58, 59
Microgroup 25
Microprocessors
Unlimited Back Cover
Microsphere, Inc 21
Motel Computers Ltd 7
Optronics Technology 9, 1 1
Periphco 12
Phenix Company 47
PI u Perfect Systems 25
Rivendell Audiocomp 67
SWP, Inc 51
Selectronics 10
Sheepshead Software 32
Slicer Computers, Inc. ... 36,37
Southern Computer
Corporation 42
TC Controls 70
Twente Digital 12
Twist, Inc 29
Unified Software Systems . . . Back
Cover
Widener Consulting 29
Wilcox Enterprises 40
Wren 7
Zippe Systems 29
BACK ISSUES
$3.00 each
US, CAN, MEX
ISSUE NO. 1(8/81)
Power Supply
RAM Protection
Video Wiggle
Vi PFM. PRN
16 pages
ISSUE NO. 2(10/81)
Parallel Print Driver
Drive Motor Control
Shugart Jumpers
Program Storage Above PFM
Vi PFM.PRN
16 pages
ISSUE NO. 3(12/81)
4 MHz Mods
Configuring Modem 7
Safer Formatter
Reverse Video Cursor
FORTHwords begins
16 pages
ISSUE NO. 4 (2/82)
Keyboard Translation
More 4 MHz Mods
Modems, Lync, and SIOs
Undoing CP/M ERASE
Keyboard Encoder
20 pages
ISSUE NO. 5 (4/82)
Word Processing
Two Great Spells
Two Text Editors
Double Density Review
Scribble, A Formatter
20 pages
ISSUE NO. 6 (6/82)
BB I EPROM Programmer
Customize Your Chars
Double Density Update
Self-Loading ROM
Terminal in FORTH
24 pages
ISSUE NO. 7 (8/82)
6 Reviews of C
Adding 6K of RAM
Viewing 50 Hz
On Your Own begins
24 pages
$5.00 each
Other Foreign
ISSUE NO. 8 (10/82)
Drive Maintenance
Interfacing Drives
Installing a New BIOS
Flippy Floppies
C'ing Clearly begins
Xerox 820 begins
28 pages
ISSUE NO. 9 (12/82)
BB II EPROM Program
Relocating Your CP/M
Serial Print Driver
Big Board I Fixes
Bringing Up WordStar
Cheap RAM Disk
32 pages
ISSUE NO. 10(2/83)
Saving a Flaky Disk
Hooking Wini to BB II
The Disk Inspector
JRT Fix
Serial Keyboard Interface
Pascal Procedures begins
36 pages
ISSUE NO. 1 1 (4/83)
BB I Expansions
BB II Details
Dyna, RAM Disk Review
Easier Reverse Video Cursor
PlannerCalc Review
KayPro Column begins
36 pages
ISSUE NO. 12(6/83)
256K for BB I
Bringing Up BB II
dBase II
Look at WordStar
Double Sided Drives for BB I
Packet Radio
5MHz Mod for KayPro
40 pages
ISSUE NO. 13 (8/83)
CP/M Disk Directory
More 256K for BB I
Mini Front Panel
Cheap Fast Modem
Nevada Cobol Review
BB I Printer Interface
KayPro Reverse Video Mod
44 pages
ISSUE NO. 14(10/83)
BB II Installation
The Perfect Terminal
Interface to Electronic Typewriter
BB I Video Size
Video Jitter Fix
Slicer Column starts
KayPro Color Graphics Review
48 pages
ISSUE NO. 15(12/83)
Screen Dump Listing
Fixing Serial Ports
Playing Adventure
SBASIC Column Begins
Upgrading KayPro II to 4
Upgrading KayPro 4 to 8
48 pages
ISSUE NO. 16 (2/84)
Xerox 820 Column Restarts
BB I Double Density
BB II 5V8" Interface Fix
KayPro ZCPR Patch
Adding Joystick to Color Graphics
Recovering Text from Memory
52 pages
ISSUE NO. 17(4/84)
Voice Synthesizer
820 RAM Disk
Kaypro .Morse Code Interface
68000-Based System Review
Inside CP/M 86
56 pages
ISSUE NO. 18 (6/84)
Kaypro EPROM Programmer
I/O Byte: A Primer
Kaypro Joystick
Serial to Parallel Interface
Business COBOL
60 pages
ISSUE NO. 19 (8/84)
Adding Winchester to BBII
6MHz on the BBI
Bulletin Boards, Getting It Together
Track Buffering on the Slicer
4MHz for the 820-1
64 pages
ISSUE NO. 20 (10/84)
HSC 68000 Co-Processor
DynaDisk for the BBII
Serial Printer on BBI Sans SI0
Cheap &. Dirty Talker for Kaypro
Extended 8" Single Density
72 pages
BOOKS
Your Fortune in the Microcomputer
Business $26.45 (US, Can, Mex)
$36.45 (Other foreign)
This is the best, most complete collection of "working
for yourself information I've found (and I've heard
nothing but good comments from those who have
received it). This two-volume set is perfect for those
times when you need a break from monitor watching.
Inside CP/M $27.95 (US, Can, Mex)
$37.95 (Other foreign)
This is one of the best books on CP/M. It covers the
whole spectrum of users from novice to guru. There
are a few books that include more programming
examples but none work better for the whole range of
users and this book is perfect for reference use. Micro
C's copy of Inside CP/M is showing definite signs of
overuse.
MICRO CORNUCOPIA - P.O. Box 223 - Bend, Oregon - 97709-
FERGUSON ENGINEERING
817-640-0207
BIGBOARD-1 / 820-1 256K
RAM EXPANSION MODULE
rJ 5 L-J 5 Uj 3 £
iii
1
El
ICZD
5C=>
5C=)
820-256K if^k'-
J. ( B. FERGUSON "* '
IOHI4 «4o:to
Very legible C size 820 schematics set of six drawings $1 8.00
STD BUS connector for BBII $1 2.50
CRYDOM S31 2 OV switching SSR $ 7.50
Complete 820 Documentation Package $1 5.00
820 CBIOS & Rom monitor source $35.00
CP/M Primer (Xerox CP/M handbook) $1 0.00
8" Dual Drive Cable 1 7" $30.00
DB25S to 26 Pin Header. 1 8" Long $1 5.00
Tested Xerox 820-I boards $100.00 each
BIGBOARD-1 / 820-1 256K
RAM EXPANSION MODULE
Now you can add 192K of RAM to your Bigboard-1 or 820-1 in a
clean and efficient manner. This module can be used as a RAM disk, a
spooler buffer, a disk cache or anything that requires more memory
than the basic 64K. This module uses none of your precious I/O.
I nstead, it plugs in to five device sockets below the existing RAM array
as a daughter board. It adds only 1 /2 inch to the overall height of the
computer board. The interface is accomplished with absolutely NO
wires, cables or jumpers. The interconnect hardware, PAL and
difficult-to-obtain discrete components are provided with the bare
board, kit and tested versions. Only 7 TTL devices are required.
This memory array resides in the address space of the CPU as 1 6
blocks of 1 6K. Any 1 6K physical block can be mapped into any 1 6K
logical block addressable by the CPU. A bipolar RAM mapper controls
which 1 6K blocks the CPU has access to. The mapper is configured
by easily-understood single-byte commands written to memory loca-
tion OFFFFH. This extremely flexible architecture will accommodate
a wide variety of applications, such as MPM.CPM+ and a host of high-
speed data acquisition tasks. This RAM upgrade will work at 4 Mhz.
This product comes with complete schematics and a full theory of
operation with many programming examples. Assembly, installation
and test procedures are thoroughly documented. PAL code is not
available.
We have modified XDRIVE, a public-domain RAM disk software
package, to run with the 820-256K. By the end of the 2nd quarter, we
will have aCACHE BIOS melded with ZCPR that willgive you nearly all
the flexibility of CPM+ at a fraction of the cost.
BARE BOARD & DOCUMENTATION $ 67.50
KIT W/O RAM 95.00
2.5 Mhz A&T (250 nS RAM) 325.00
4.0 Mhz A&T (1 50 nS RAM) 375.00
NEW MONITOR ROM SOURCE & XDRIVE SOFTWARE 45.00
64K 250 nS MK 4564 - 25 4.50
UNINTERRUPTABLE POWER SUPPLY
$ JABOO
UPS 5-200
95
+5 V @ 8.5 AMPS, + 1 2 V @ 7.2 AMPS
-1 2V @ .5 AMP, + 24V @ 2 AMPS (4A Pk)
This supply is designed to power entire computer systems with
Winchester and floppy disk subsystems, as well as providing
emergency battery backup capability. Designed to meet the
needs of single-board Winchester systems.
24V 4.5 AH battery pack, BP-1 $65.00
FEATURES:
High Reliability
High Efficiency (75% TYP.)
High Power - 200 Watts
25 Khz Switching Frequency (inaudible)
Soft Start
Built-in Quick-Response O.V.P.
Cycle-By-Cycle Fold-Back Current Limiting
Drop-Out Immunity for up to 250 Ms (without battery)
Uninterruptable (with addition of BP-1 battery pack)
5 Output Voltages
FERGUSON ENGINEERING
817-640-0207
P.O. BOX 300085 ARLINGTON, TEXAS 76010
Bare Board & Doc
ACCOMMODATES
• Z80, Z80A, OR Z80B Series Parts
• Dual RS232 Serial I/O W/Current Loop Option on "A"
Channel (both strappable as terminal or modem in
RS232 Mode)
• 1 6 Programmable Baud Rates on each serial channel
• 32 Bits Buffered Parallel I/O Assignable on 4 Bit Boundaries,
W/Strappable Handshake Polarity (2xZ80-PIO)
• 4 Channels of Counter-Timer, 4 Inputs, 3 Outputs
• Accommodates 1 6K Mix of Ram or Rom or EEPROM on 2K
Boundaries in 271 6 or 201 6 or XICOR EEPROM
• 2.3" x 1 0" Sea of Holes Prototyping Area
• All I/O Fully Mode II Interrupt Compatible
• Watchdog Timer for Long-Term Unattended Operation
Rom monitor and source listing $ 35.00
TERMS: Master Card/VISA add 3%, money order, certified
check, UPS cash COD. Allow 2 weeks for
personal or company checks to clear.
Shipping/handling extra. Texas order
add 5% tax.
Full implementation of "C" with standard floating
point, library, and I/O subroutines. UNIX VER 7
compatible. Produces relocatable 8080 (optional 0Z80)
assembler code. Relocating assembler and linker
supplied with package or use Microsoft M80 and L80,
SID/ZSID debugger interface. FAST COMPILATION
AND EXECUTION.
AZTEC CM FOR CP/M $199
(Special price for Micro C subscribers $149)
_ MANX
VISA software systems
■ Box 55, Shrewsbury, N.J. 07701
(201) 780-4004
Also available for Apple DOS, HDOS, CP/M-86, PC-DOS
PROMPT DELIVERY!!!
F S SAME DAY SHIPPING (USUALLY)
DYNAf
l/IIC RAM
256K
256Kx1
150 ns
$34.34
256K
256Kx1
200 ns
26.26
64K
64Kx1
150 ns
4.77
64K
64Kx1
200 ns
4.62
16K
16Kx1
200 ns
1.21
EPROM
27256
32Kx8
300 ns
$49.97
27128
16Kx8
300 ns
18.77
27C64
8Kx8
200 ns
22.50
2764
8Kx8
250 ns
6.50
2732
4Kx8
250 ns
6.37
2716
2Kx8
450 ns
3.50
STATIC RAM
6264LP-15
150 ns
$31.25
6116P-3
150 ns
6.36
Open 6 1 /2 days: We can ship via Fed-Ex on Sat.
MasterCard/VISA or UPS CASH COD
Factory New, Prime Parts juPoo
MICROPROCESSORS UNLIMITED
24,000 South Peoria Ave. /Q10\ OR7-AQf*-i
BEGGS, OK 74421 V 91 b ) ^b7-49bl
Prices shown above are for September 17, 1984
Please call for current prices & volume discount. Prices subject to change. Please expect
higher prices on some parts due to world wide shortages. Shipping and insurance extra.
Cash discount prices shown. Small orders received by 6 PM CST can usually be delivered to
you by the next morning, via Federal Express Standard Air @ $5.99!
nuinaiiii
Tired of the slowness of BASIC? Find that the bugs in
FORTRAN are bugging you? Step up to FORTH, the language
that gives you total control over your computer! UNIFORTH
is the only version of FORTH available either "captured" under
an operating system (such as CP/M), or "standalone",
acting as its own operating system. Our standalone versions
are customized to your single board computer, providing serial
and parallel port support, a real-time clock, formatting, fast
disk copy, and disk access up to twice as fast as CP/M! All
systems are FORTH-79, and include a video editor, macro
assembler, debugger, decompiler, top-notch documentation,
and much more. Write for our free brochure, or order direct
from the special Micro-C reader prices listed below.
UNIFORTH Version
System
Integer
Floating
Multi-
Multi-
Point
Tasking
User
Big Board
$ 60
$100
$125
$150
Big Board II
80
125
150
200
Slicer
100
150
200
250
Any CPM-80
60
100
Unified Software Systems
P.O. Box 2644, New Carrollton, MD 20784, 301/552-9590
DEC, VAX,PDP,RT-1 1 , RSX-1 1 (TM) Digital Equipment Corp; CP/M (TM) Digital Research; MSDOS
(TM) Microsoft; VIC-20 (TM) Commodore.
MICRO CORNUCOPIA
The Single Board Systems Journal
P.O. BOX 223
BEND, OREGON 97709